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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 枪杆不如笔杆 中级黑马   /  2015-2-25 11:18  /  1283 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 枪杆不如笔杆 于 2015-2-25 11:19 编辑

内部类
1.      内部类优点
a)        内部类对象可以访问创建它的对象的实现,包括私有数据;
b)       内部类不为同一包的其他类所见,具有很好的封装性;
c)        使用内部类可以很方便的编写事件驱动程序;
d)       匿名内部类可以方便的定义运行时回调;
e)        内部类可以方便的定义
2.      内部类,面向对象程序设计中,可以在一个类的内部定义另一个类,这种(nested classes),它有两种,即。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。
3.      实例化以后产生Outer.classOuter$Inner.class字节码文件。
4.      实例化:
a)        外部类名.内部类名 = new 外部类对象().new 内部类对象();
b)       如果内部类是静态的。 相当于一个外部类
外部类名.内部类名 = new 外部类对象.内部类();
c)        如果内部类是静态的,成员是静态的。
外部类名.内部类名.静态函数名
5.     如果内部类中定义了静态成员,该内部类也必须是静态的
6.     内部类可以存放在局部位置上。(也就是定义在外部类的成员函数里面,主函数也是函数哦)内部类在局部位置上只能访问局部中被final修饰的局部变量。
7.     匿名内部类:就是内部类的简写格式,内部类必须继承或者实现一个外部类或者接口。(因为内部类是用父类的名字创建对象)其实就是一个匿名子类对象
8.     使用匿名内部类时的原则
a)       不能有构造方法
b)       不能定义任何静态成员和静态方法
c)       不能是public,protected,private,static
d)       只能创建一个实例
9.     为什么内部类能直接访问外部类中成员呢?
a)       那是因为内部类持有了外部类的引用。  外部类名.this

评分

参与人数 1黑马币 +2 收起 理由
万合天宜 + 2

查看全部评分

4 个回复

倒序浏览
总结的非常好,感谢分享
回复 使用道具 举报
邓士林 来自手机 高级黑马 2015-2-25 14:42:10
藤椅
赞一个,哈哈
回复 使用道具 举报
学习了,很多细节都没注意到
回复 使用道具 举报
点赞,,,,,,,,,,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马