黑马程序员技术交流社区
标题:
关于内部类的"身份"的问题
[打印本页]
作者:
张宏祚
时间:
2013-10-12 08:27
标题:
关于内部类的"身份"的问题
本帖最后由 张宏祚 于 2013-10-12 18:21 编辑
内部类相对于外部类,它的身份是什么呢,内部类是否作为一个对象,属于外部类的一个属性呢?有理解这块内容的朋友,能不能详细的总结下,谢谢啦!:)
作者:
卜弦
时间:
2013-10-12 09:10
1、由于一般情况类与类之间访问数据需要在类中建立对方的对象(执行new操作),但是内部类可以直接访问外部类中的成员,而外部类访问内部类需要new内部类的对象。
所以当内部类定义在其外部类的成员位置上,而且非私有,可以在外部的其他类中直接建立内部类对象。
格式外部类名.内部类名 变量名 = 外部类对象.内部类对象;
Outer.Inner in = new Outer().new Inner();
注意:内部类可以被私有修饰。外部类不可以。
2,当内部类在成员位置上,就可以被成员修饰符所修饰。比如,private:将内部类在外部类中进行封装。 static:内部类就具备static的特性。
但是当内部类被static修饰后,它就只能直接访问外部类中的static成员,因此出现了访问局限。
3、内部类定义在局部时
a,不可以被成员修饰符修饰
b,可以直接访问外部类中的成员,以及访问被final修饰的局部变量。
这些毕老师的视频里都讲过的!
作者:
To
时间:
2013-10-12 11:23
楼主你好,如果问题已解决请将帖子状态改为提问结束,如果未解决请继续提问,谢谢合作。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2