黑马程序员技术交流社区

标题: 为什么成员内部类不可以有静态属性? [打印本页]

作者: ﹎◇waiting﹎    时间: 2012-7-2 18:22
标题: 为什么成员内部类不可以有静态属性?
本帖最后由 ﹎◇waiting﹎ 于 2012-8-1 13:49 编辑

求详解:为什么成员内部类不可以有静态属性?
作者: 田向向    时间: 2012-7-2 18:42
这个问题度娘能帮你解释的很清楚,
简单的说一下吧:因为成员内部类不是静态的,只有静态的内部类才可以有,如果你的内部类为静态的话,这样是没法进行调用的,并且被static修饰的成员属性和方法 都是优先于对象存在的。
作者: 郑庆伟    时间: 2012-7-2 19:48
本帖最后由 郑庆伟 于 2012-7-2 19:53 编辑

静态内部类中可以有静态成员。而且只能访问外部类中被static修饰的成员,非静态的内部类中如果静态方法或者变量编译不会通过。
被static修饰的成员 都是比对象先存在的。
这样就没办法调用了。

作者: 邵阳    时间: 2012-7-2 20:01
楼主给出的问题不是很准确。我给你说一下内部类的一些注意。
1:当内部类在成员位置上时,就可以被成员修饰符所修饰。当然包括static修饰符。
(1)当内部类中定义了静态成员,该内部类必须是static修饰。
(2):当外部类中的静态方法访问内部类时,内部类必须是静态的。
2:内部类定义在局部时,不可以被成员修饰符修饰。
因为成员修饰符只能修饰成员变量和成员函数,不修饰局部变量和局部函数。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2