问答详情
源自:7-7 Java 中的静态内部类

静态内部类

静态内部类的成员是静态的吗?

提问者:SungJoe 2015-09-21 09:35

个回答

  • 天启之魂
    2015-09-21 10:06:05
    已采纳

    静态内部类的成员可以是静态的 也可以是非静态的, 比如 主函数就是静态的,你在主函数当中可以定义int x=0;

    但是如果一个内部类里面有静态成员,那么该内部类必须是静态的,因为静态成员会在外部类加载时就加载,这要求了内部类也必须加载,所以内部类也必须静态化

  • 无动于衷
    2015-09-21 09:52:05

    不一定,你可以把静态类与静态方法类比着看,静态方法里是有非静态成员的,静态类也一样。

    其实静态并不是指它本身有何特殊,而是定义了 这个方法最好是用类去调用(而非对象,当然对象也是能调用的),或者这个内部类也是要通过外部类(而非对象)去创建实例的。正因为如此,有的时候我们才会感觉static难以理解,像是static方法不能调用非static方法,是因为如果是类去调用这个static方法,也就没有对象,自然不能调用非静态的方法。