欢迎来到天天文库
浏览记录
ID:50436806
大小:36.02 KB
页数:2页
时间:2020-03-09
《静态类调用动态内部类的方法.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java出现NoenclosinginstanceoftypeEisaccessible.Mustqualifytheallocationwithanenclosing最近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:NoenclosinginstanceoftypeEisaccessible.MustqualifytheallocationwithanenclosinginstanceoftypeE(e.g. x.newA()wherexisaninstanceofE).E指代我写的那个内部类。根据提示,没
2、有可访问的内部类E的实例,必须分配一个合适的内部类E的实例(如x.newA(),x必须是E的实例。)看着这句提示,我就纳闷了,我已经用new实例化了这个类,为什么还不行呢。于是百度谷歌了一下相关资料。原来我写的内部类是动态的,也就是开头以publicclass开头。而主程序是publicstaticclassmain。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以在不做其他变动的情况下,最简单的解决办法是将publicclass改为publicstaticclass.另外一种处理方
3、法在外部类中定义一个start();方法,讲该类在本方法中new出来,然后在main();方法中调用这个start();方法即可。堆棧放代码方法的地方
此文档下载收益归作者所有