My Blog

My WordPress Blog

My Blog

My WordPress Blog

No Static field

Using generics, type parameters are not allowed to be static. As static variable is shared among object so compiler can not determine which type to used. Consider the following example if static type parameters were allowed.

Example

package com.tutorialspoint;

public class GenericsTester {
   public static void main(String[] args) {
  Box<Integer> integerBox = new Box<Integer>();
Box<String> stringBox = new Box<String>();
  integerBox.add(new Integer(10));
  printBox(integerBox);
} private static void printBox(Box box) {
  System.out.println("Value: " + box.get());
} } class Box<T> { //compiler error private static T t; public void add(T t) {
  this.t = t;
} public T get() {
  return t;
} }

As stringBox and integerBox both have a stared static type variable, its type can not be determined. Hence static type parameters are not allowed.

No Static field

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top