JAVA 编程思想第10章--内部类概要

1 内部类可以访问外部内所有成员,无访问权限的限制

2 内部类对象实例化必须依赖外部类的实例,静态内部类无需依赖,

3 不能直接引用外部类名称来实例化内部类

4 外部类A不能访问类B的private内部类


5 局部内部类---方法里的内部类


6 匿名内部类即无需显示继承类或者实现类的类名,来实例化,直接通过接口或者继承类来实例化

7 隐式调用基类的默认构造方法,无需写明

8 匿名内部类即可以实现接口,也可以扩展类,但是不可用二者兼顾,而且只能实现一个接口

9 匿名内部类如果要使用传入的参数,此参数必须是 final 的


10 static 内部类也叫嵌套类

11 嵌套类实例无需依赖外部类对象,直接实例化

12 不能从嵌套类对象中访问非静态外部类的对象

13 普通内部类不能包含static 方法 字段和嵌套类,但是可以包含final static 字段;嵌套类无此限制。

14 接口可以包含嵌套类,接口里的类默认是public和static的,这个嵌套类还可以实现外层接口里的方法。

      作用是可以把重复的代码放到接口的嵌套类里。


15 内部类可以扩展接口,实现多继承

16 内部类与控制框架:命令设计模式

17 闭包和回调


18 继承内部类

   构造函数必须带有这个内部类的外围引用,必须调用外围引用.super()函数。

   因此默认构造函数是不可用的。

19 继承外围类,内部类是不能被覆盖的,除非明确继承内部类


20 局部内部类和匿名内部类都可以访问外围成员,局部内部类可以创建多个内部类对象,而匿名内部类仅仅是实例初始化。

21 内部类都用“$”隔开,匿名内部类用数字标识


猜你喜欢

转载自blog.csdn.net/xuxinyl/article/details/78262287
今日推荐