Java Generics - Statik alan yok
Jenerikler kullanıldığında tür parametrelerinin statik olmasına izin verilmez. Statik değişken nesne arasında paylaşıldığı için derleyici hangi türün kullanılacağını belirleyemez. Statik tür parametrelerine izin verilmişse aşağıdaki örneği düşünün.
Misal
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;
}
}
StringBox ve integerBox'ın her ikisinin de yıldızlı bir statik tür değişkeni olduğundan, türü belirlenemez. Bu nedenle statik tip parametrelerine izin verilmez.