欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

语法错误:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing

发布时间:2024/3/12 编程问答 24 豆豆
生活随笔 收集整理的这篇文章主要介绍了 语法错误:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

错误

问题

No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing

没有能被访问到的 外部类E的实例。必须获取一个外部类E的对象(例如: x.new A(), x是E的实例 )

原因:

原来我写的内部类是动态的,也就是开头以public class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。

解法:

在不做其他变动的情况下,最简单的解决办法是将public class改为public static class.

new 外部类().new 内部类();也可以。

并不一定需要将内部类修改为static的。 内部类可以这样2种方法实例 EqualsObject.Transport transport = new EqualsObject.Transport(); EqualsObject.Transport transport = new EqualsObject().new Transport(); 而在外部main方法中必须这样调用 EqualsObject.Transport obj1 = new EqualsObject().new Transport(); main里面的必须要new2个原因就是博主描述的原因。

总结

以上是生活随笔为你收集整理的语法错误:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。