出现类似以下错误
No enclosing instance of type Demo01 is accessible. Must qualify the allocation with an enclosing instance of type Demo01 (e.g. x.new A() where x is an instance of Demo01).(没有可访问的内部类Demo01的实例,必须分配一个合适的内部类Demo01的实例(如x..new A(),x必须是Demo01的实例)
-
内部类Dog是动态的,也就是开头是以public class 开头的。但是主函数是public static void main ,是静态的。
-
在Java中,类中的静态方法不能直接调用动态方法,类中的静态方法是不能去访问非静态成员的,因为非静态成员不存在的时候静态成员已经存在了,访问一个内存中不存在的内容当然会出错了。
-
解决办法:
(1) 不使用内部类
-
(2)给内部类都加上static 都变成与主函数一样的静态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)