黑马程序员技术交流社区

标题: 为什么实例内部类中不能有静态成员? [打印本页]

作者: 付剑翊    时间: 2014-8-28 21:43
标题: 为什么实例内部类中不能有静态成员?
如题,想不明白啊
作者: 玥夜    时间: 2014-8-28 22:28
额 什么实例内部类啊
作者: Sakuratossi    时间: 2014-8-29 00:17
不明白什么是实例内部类。内部类可以定义静态成员的,但是这样的话,这个内部类也要被定义成静态内部类才可以。
作者: 优乐    时间: 2014-8-29 00:55
使用非静态成员必须先创建对象,使用静态成员则不需要创建对象

实例内部类也可以看成是一个非静态成员,而使用一个类就必须要初始化
要初始化类就要创建对象
既然使用非静态内部类必须要创建非静态内部类的对象
而静态成员不需要创建对象,而你又一定要创建对象
所以静态成员在实例内部类中也就没什么意义了

虽然说你也可以通过对象引用静态成员
但是设计非静态内部类的初衷应该是我上面说的

不知道我的表述楼主懂了木有




作者: 付剑翊    时间: 2014-8-30 22:04
优乐 发表于 2014-8-29 00:55
使用非静态成员必须先创建对象,使用静态成员则不需要创建对象

实例内部类也可以看成是一个非静态成员,而 ...

谢谢回答,理解了。
作者: LFW    时间: 2014-8-30 23:16
Sakuratossi 发表于 2014-8-29 00:17
不明白什么是实例内部类。内部类可以定义静态成员的,但是这样的话,这个内部类也要被定义成静态内部类才可 ...

你说的反过来就是他问的问题啦。内部类实例化不就是非静态内部类了么,自然不能。楼主的问题可以这样想,你的是实例化内部类,还有必要把成员静态化么。换句话说,你的静态成员,不能被类名调用,还有意义吗




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