黑马程序员技术交流社区

标题: 内部类那些事 [打印本页]

作者: 王小乖    时间: 2015-3-30 18:32
标题: 内部类那些事
今天复习了一下以前的笔记,发现内部类这部分有点忘了,所以今天在总结一下,方便自己以后在复习,也希望各位大神帮忙执政和补充,小弟现在此谢过:D
首先,第一个问题:我们为什么要定义内部类?

答:如果A类需要直接访问B类中的成员,而B类有需要建立A类的对象。这时为了方便设计和访问,直接将A类定义在B类中就可以了。A类就称为内部类。内部类可以直接访问外部

类中的成员,而外部类想要访问内部类,必须要建立内部类的对象。

第二个问题:内部类的互访方式是怎样的?

答:内部类访问外部类的时候,可以直接访问,包括外部类的私有成员;而外部类访问内部类的成员的时候,需要在外部类中建立内部类的对象。

第三个问题:再不建立外部类的情况下,如何直接访问内部类成员?

答:格式:外部类名.内部类名 = new 外部类构造方法().内部类构造方法();

想要直接建立内部类对象,需要指定你想要建立哪个外部类的内部类对象。

第四个问题:为什么内部类可以直接访问外部类的成员变量?

答:因为内部类持有了一个外部类的引用,该引用为:外部类名.this。

注意:当内部类中存在静态成员变量,则内部类必须定义成静态的!!!!!!

             当外部类的静态方法访问内部类的时,内部类也必须是静态的!!!!!!
作者: 冻了冬天    时间: 2015-3-30 18:58
  小弟无法帮你了
作者: 戴祺    时间: 2015-3-30 19:02
总结的很好,赞一个~
作者: minliang    时间: 2015-3-30 19:49
我今天也在看这个内部类。还有就是内部类定义在局部时不可以被成员修饰符修饰!
作者: 野马奔腾    时间: 2015-3-30 20:26
我会持续关注的
作者: xiaogougou    时间: 2015-3-30 20:58
楼主解决了不少我的迷惑,也顺便帮我复习了一下内部类。。。
作者: onlybin2015    时间: 2015-3-30 21:42
看的有点晕
作者: smile2015    时间: 2015-3-31 01:24
总结很好
作者: 王小乖    时间: 2015-3-31 07:58
minliang 发表于 2015-3-30 19:49
我今天也在看这个内部类。还有就是内部类定义在局部时不可以被成员修饰符修饰! ...

嗯嗯,谢谢
作者: 王小乖    时间: 2015-3-31 08:00
xiaogougou 发表于 2015-3-30 20:58
楼主解决了不少我的迷惑,也顺便帮我复习了一下内部类。。。

共同学习,请多指教:handshake




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