在外部类的静态方法中不能创建内部类的实例对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20009015/article/details/88623451

在这里插入图片描述

本来想在static的main方法里面创建这个内部类的对象
idea提示报错

因为内部类的特点就是,内部类持有外部类的引用,可以访问外部类的属性和方法,但是如果是在外部类的静态方法中进行的创建,那么就会有问题,因为外部类的静态方法创建的时候,是不需要外部类对象存在的。
比如说直接 外部类类名.静态方法 这样也可以调用,这个时候外部类并没有实例化,因此内部类就无法拿到外部类的引用。

解决方法,将内部类也声明为static, 但是static的内部类,只能访问到外部类的static属性和方法。

猜你喜欢

转载自blog.csdn.net/qq_20009015/article/details/88623451