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修饰。就可以很好的解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值