package generics;
public class InnerClassGenerics{
class Innerclasss{
}
public static void main(String[] args) {
InnerClassGenerics icg=new InnerClassGenerics();
Innerclasss innerclass=icg.new Innerclasss();
}
}
上面的代码是可能的,编译好!是否可以使用参数化通用内部类?
为什么下面的代码不能编译,是否有可能参数化内部类?
package generics;
public class InnerClassGenerics<T>{
class Innerclasss<T>{
}
public static void main(String[] args) {
InnerClassGenerics<String> icg=new InnerClassGenerics<>();
Innerclasss<String> innerclass=new Innerclasss<>();
}
}
在上面的代码中,如果该类被制作为静态,它将正常工作! 为什么没有静态关键字是不可能的?
这与泛型没有任何关系,只是说。 – Smutje 2014-10-19 14:20:31
[Java内部类和静态嵌套类]的可能重复(http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class) – Smutje 2014-10-19 14:21:01
您的类型参数''在内部类从外部阶层隐藏''。无论如何,你应该改正你的例子(你试图创建非静态的内部类,而不使用任何外部类的实例)。 –
Pshemo
2014-10-19 14:24:23