黑马程序员技术交流社区

标题: 内部类定义了静态成员,为什么内部类就必须是静态的? [打印本页]

作者: hsx500    时间: 2015-5-12 09:56
标题: 内部类定义了静态成员,为什么内部类就必须是静态的?
如题,内部类定义了静态成员,为什么内部类就必须是静态的?

作者: iamnoten    时间: 2015-5-12 10:57
好像有帖子说过这个问题,你找一下
作者: fenglinluomu    时间: 2015-5-12 11:28
既然是静态的成员,也就是它可以直接被类名所调用,而如果内部类不是静态的话,就必须要先创建对象后才能调用。这样就前后矛盾了。
作者: 虎鹏    时间: 2015-5-12 11:42
用类名调用啊
作者: 菜鸟的求学路    时间: 2015-5-12 12:10
楼上的够用了
作者: 赵旗    时间: 2015-5-12 12:42
因为内部类是非静态的,除了要依靠外部类实例外,还要依赖内部类实例,而静态变量是不需要构建类实例的,两者是相矛盾的,而final类型的变量可以离开类实例存活一段时间的。
作者: 刘冬    时间: 2015-5-12 17:22
内部类的成员是静态的说明不需要内部类的实例化就可以引用,既然内部类不需要实例化,相对于外部类就要定义成静态的
作者: hsx500    时间: 2015-5-13 09:17
刘冬 发表于 2015-5-12 17:22
内部类的成员是静态的说明不需要内部类的实例化就可以引用,既然内部类不需要实例化,相对于外部类就要定义 ...

好像理解了,这一块儿好抽象啊。。
作者: mmakun    时间: 2015-5-13 14:53
因为内部类是属于主类的,如果不定义成静态的,那么在调用内部类的变量时,就必须实例化主类
作者: hsx500    时间: 2015-5-13 17:36
mmakun 发表于 2015-5-13 14:53
因为内部类是属于主类的,如果不定义成静态的,那么在调用内部类的变量时,就必须实例化主类 ...

知道了!谢谢




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