【Java基础】内部类复习

来源:互联网 发布:小米机顶盒下载软件 编辑:程序博客网 时间:2024/06/05 19:19

以下内容摘自:Thinking in Java
内部类的概念:

把一个类的定义放在另一个类的定义内部,这就是内部类

当外部类创建一个内部类对象时,内部类与生成他的外部对象之间有一种联系, 内部类会隐式地捕获一个指向其外部类对象的引用,然后,内部类访问外部类成员是,就是通过这个引用来选择外部类的成员;

内部类可以访问其外部对象的所有成员;
嵌套类(静态内部类)不持有外部类对象的引用 ,
不能从嵌套类的对象中也不能访问非静态的外部类对象;
普通内部类不能有static 数据和static 字段,也不能包含嵌套类

局部内部类 :

匿名内部类:

为什么使用内部类?

内部类使得多继承的解决方案变得完整。
内部类可以有多个实例,每个实例都有自己的状态信息,并与外部类对象的信息相互独立
在个单个外部类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类;
创建内部类对象的时刻并不依赖于外围类对象的创建
内部类并不是is-a的关系,它是一个独立的实体。

闭包:

回调:

0 0
原创粉丝点击