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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张宏祚 中级黑马   /  2013-10-12 08:27  /  1269 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张宏祚 于 2013-10-12 18:21 编辑

内部类相对于外部类,它的身份是什么呢,内部类是否作为一个对象,属于外部类的一个属性呢?有理解这块内容的朋友,能不能详细的总结下,谢谢啦!:)

点评

毕老师的视频了好像是有的  发表于 2013-10-12 08:47

评分

参与人数 1技术分 +1 收起 理由
李江 + 1

查看全部评分

3 个回复

倒序浏览
1、由于一般情况类与类之间访问数据需要在类中建立对方的对象(执行new操作),但是内部类可以直接访问外部类中的成员,而外部类访问内部类需要new内部类的对象。
所以当内部类定义在其外部类的成员位置上,而且非私有,可以在外部的其他类中直接建立内部类对象。
                      格式外部类名.内部类名 变量名 = 外部类对象.内部类对象;
                                        Outer.Inner in = new Outer().new Inner();
  注意:内部类可以被私有修饰。外部类不可以。

2,当内部类在成员位置上,就可以被成员修饰符所修饰。比如,private:将内部类在外部类中进行封装。 static:内部类就具备static的特性。
但是当内部类被static修饰后,它就只能直接访问外部类中的static成员,因此出现了访问局限。

3、内部类定义在局部时
a,不可以被成员修饰符修饰
b,可以直接访问外部类中的成员,以及访问被final修饰的局部变量。

这些毕老师的视频里都讲过的!

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
To 金牌黑马 2013-10-12 11:23:24
藤椅
楼主你好,如果问题已解决请将帖子状态改为提问结束,如果未解决请继续提问,谢谢合作。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马