本文主要是介绍JAVA报错——No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上午学习JAVA线程的时候,
已经创建了countThread类
自己创建了两个countThread对象,但是第一个一直报错,如下图所示:
很苦恼,查了翻译:没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例(如x.new A(),x必须是E的实例。)
我明明没有定义内部类!是两个分开的类,所以恍然大悟是将自己定义的countThread类放进了Test类中。
将countThread类移除Test类之后,报错即可没了......
另外:
如果是创建内部类的时候出现这种错误时,是因为内部类是动态的,main方法是static修饰,在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以最好的方法就是将内部类用public static修饰。就可以很好的解决。
这篇关于JAVA报错——No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!