A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小乖 中级黑马   /  2015-3-30 18:32  /  950 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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

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

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

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

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

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

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

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

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

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

             当外部类的静态方法访问内部类的时,内部类也必须是静态的!!!!!!

9 个回复

倒序浏览
  小弟无法帮你了
回复 使用道具 举报
总结的很好,赞一个~
回复 使用道具 举报
我今天也在看这个内部类。还有就是内部类定义在局部时不可以被成员修饰符修饰!
回复 使用道具 举报
我会持续关注的
回复 使用道具 举报
楼主解决了不少我的迷惑,也顺便帮我复习了一下内部类。。。
回复 使用道具 举报
看的有点晕
回复 使用道具 举报
总结很好
回复 使用道具 举报
minliang 发表于 2015-3-30 19:49
我今天也在看这个内部类。还有就是内部类定义在局部时不可以被成员修饰符修饰! ...

嗯嗯,谢谢
回复 使用道具 举报
xiaogougou 发表于 2015-3-30 20:58
楼主解决了不少我的迷惑,也顺便帮我复习了一下内部类。。。

共同学习,请多指教:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马