课程
/后端开发
/Java
/Java入门第二季 升级版
静态内部类的成员是静态的吗?
2015-09-21
源自:Java入门第二季 升级版 7-7
正在回答
静态内部类的成员可以是静态的 也可以是非静态的, 比如 主函数就是静态的,你在主函数当中可以定义int x=0;
但是如果一个内部类里面有静态成员,那么该内部类必须是静态的,因为静态成员会在外部类加载时就加载,这要求了内部类也必须加载,所以内部类也必须静态化
SungJoe 提问者
不一定,你可以把静态类与静态方法类比着看,静态方法里是有非静态成员的,静态类也一样。
其实静态并不是指它本身有何特殊,而是定义了 这个方法最好是用类去调用(而非对象,当然对象也是能调用的),或者这个内部类也是要通过外部类(而非对象)去创建实例的。正因为如此,有的时候我们才会感觉static难以理解,像是static方法不能调用非static方法,是因为如果是类去调用这个static方法,也就没有对象,自然不能调用非静态的方法。
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答静态内部类
1 回答内部类与外部类,静态和非静态
4 回答静态内部类的静态方法如何访问静态内部类的非静态成员?
2 回答静态内部类与方法内部类
4 回答静态内部类实例