我是个学习Java的小菜鸟,最近学习Java书中关于泛型有这么一段怎么都不理解,望大侠们指点下,谢谢!“在泛型类的静态变量和方法是被它的所有实例所共享的,因此在静态方法、数据域或初始化语句中,为了类而引用泛型类型参数是非法的”
为什么?为什么静态环境下不允许类的参数是泛型类型?能不能解释的详细通俗点易于理解O(∩_∩)O~
为什么?为什么静态环境下不允许类的参数是泛型类型?能不能解释的详细通俗点易于理解O(∩_∩)O~
对于这样的概念我也不是太理解为什么,只能先记下来这个规则。望高手指教下我这个菜鸟!不甚感激!
static {
AA.class.getGenericSuperclass();
System.out.println(1);
}
}
public static void main(String[] args) {
new Abc.AA<Integer>() {};
}
}上面的代码没有问题啊~不明白LZ的意思呢。
{
// 动态获取泛型类型
Class clz = (Class) ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
System.out.println(clz.getName());
}
}
public static void main(String[] args) {
new Abc.AA<Abc>() {};
}
}