java - 抽象内部类+泛型
问题描述
简单的内部类使用:
public class OuterClass { public OuterClass() { } public abstract class InnerAbstractClass {public void a() {}public abstract void absMethod(); }public void test() {new OuterClass().new InnerAbstractClass() { public void absMethod() { }}; }public static void main(String[] args) {new OuterClass().new InnerAbstractClass() { public void absMethod() { }}; }}
在上面例子中添加泛型
public class OuterClass<T> { public OuterClass() { } public abstract class InnerAbstractClass {public void a() {}public abstract void absMethod(); } public void test() {new OuterClass().new InnerAbstractClass() { public void absMethod() { }}; } public static void main(String[] args) {new OuterClass().new InnerAbstractClass() { public void absMethod() { }}; }}
在test方法中调用内部类,编译正确。在main方法中报错,cannot be referenced from a static context。如果在另一个新建的类中调用内部类不报错
public class OuterClassTest { public static void main(String[] args) {new OuterClass().new InnerAbstractClass() { public void absMethod() { }}; }}
为什么???
问题解答
回答1:呵呵,点没帮助的那位,自己复制代码运行一下,编译没问题!没有问题!
不会用ide就老老实实自己javac
相关文章:
1. javascript - canvas压缩图片的原理是什么2. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?3. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分4. golang - 用IDE看docker源码时的小问题5. java - 如何修改Eclipse项目那一块的背景颜色?6. 导入数据库不成功7. mysql - 仅仅只是把单引号与反斜杠转义不用prepare statement能否避免sql注入?8. docker-machine添加一个已有的docker主机问题9. php - 注册验证邮箱失效后操作问题10. 清除nginx的文件缓存

网公网安备