黑马程序员技术交流社区

标题: 实例内部类是什么意思? [打印本页]

作者: vicoooo    时间: 2013-6-29 19:54
标题: 实例内部类是什么意思?
最近有人问我实例内部类、静态内部类,局部内部类的问题,突然实例内部类不知道怎么回答,各位有没有好的解答。
作者: L.I.F.E    时间: 2013-6-29 19:58
难道是匿名内部类?
作者: L.I.F.E    时间: 2013-6-29 20:05
内部类可以定义在外部类的成员位置上,可以被private,static修饰,被static修饰后,就出现了访问局限,只能访问外部类静态的成员。注意:当内部类中定义了静态成员,该内部类必须是静态的。
也可以定义在外部类的方法上(局部内部类)。

匿名内部类:
1.      匿名内部类其实就是内部类的简写形式。
2.      定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。
3.      匿名内部类的格式:  new 父类或者接口(){定义子类的内容}.
4. 其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖,也可以理解为带内容的对象。
5.匿名内部类中定义的方法最好不要超过3个。
作者: 放飞自己365    时间: 2013-6-30 16:20
大部分时候。内部类都被作为成员内部类定义,而不是作为局部内部类。成员内部类是一种与属性Field和方法类似的类成员,就像成员变量被分为类变量和实例变量一样吧,定义变量有static修饰的就是类变量,没有static修饰的就是实例变量;而成员内部类分静态内部类和非静态内部类,有static修饰的成员内部类就是静态内部类,没有static修饰的成员内部类就是非静态内部类,也就是实例内部类吧。。。
作者: 袁梦希    时间: 2013-6-30 17:49
加油
作者: 张莹楠    时间: 2013-6-30 19:15

这个也是自己看到的,希望对楼主有帮助。

实例内部类
静态内部类
局部内部类
主要特征
内部类的实例引用特定的外部类的实例
内部类的实例不与外部类的任何实例关联
可见范围是所在的方法
可用的修饰符
访问控制修饰符,abstract,final
访问控制修饰符,static,abstract,final
abstract,final
可以访问外部类的哪些成员
可以直接访问外部类的所有成员
只能直接访问外部类的静态成员
可以直接访问外部类的所有成员,并且能访问所在方法的final类型的变量和参数
拥有成员类型
只能拥有实例成员
可以拥有静态成员和实例成员
只能拥有实例成员
外部类如何访问内部类的成员
必须通过内部类的实例来访问
对于静态成员,可以通过内部类的完整类名来访问
必须通过内部类的实例来访问



作者: vicoooo    时间: 2013-6-30 19:59
放飞自己365 发表于 2013-6-30 16:20
大部分时候。内部类都被作为成员内部类定义,而不是作为局部内部类。成员内部类是一种与属性Field和方法类 ...

呵呵,谢谢解答。我也觉得是这样的,上次被人误导了。




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