第八章 接口与内部类
2012-07-25 13:15
183 查看
8.1 接口
如果知道某事物应该成为一个基类,那么第一选择应该是使它成为一个接口,只有在强制你必须要具有方法定义和成员变量的时候 ,采用该改而选择抽象类,或者在必要时使其成为一个具体类。
extends可以引用多个接口,但只可以将extends用于单一类。
接口中的任何字段都自动是static和final的。
嵌套接口。
8.2 内部类
内部类和组合是完全不同的概念。
当将内部类向上转型为其基类,尤其是转型为一个接口的时候,内部类就有了用武之地。这是因为此内部类——某个接口的实现——对于其他人来说能够完全不可见,并且不肯用。所得到的只是指向基类或借口的引用,所以能够很方便地隐藏实现细节。
普通的(非内部类的)类,不能声明为private或protected;它们只可以被赋予public或者包访问权。
在方法和作用域内的内部类。
匿名内部类。
内部类拥有其外围类的所有元素的访问权。(当某个外围类的对象创建了一个内部类对象时,此内部类对象必定会保存一个指向那个外围类对象的引用。)
嵌套类
如果不需要内部类对象与其外围类对象之间有关系,那么可以将内部类声明为static。这通常称为嵌套类。
嵌套类意味着:
1)要创建嵌套类的对象,并不需要其外围类的对象。
2)不能从嵌套类的对象中访问非静态的外围类对象。
嵌套类与普通的内部类还有一个区别。普通内部类的字段和方法,只能放在类的外部层次上,所以普通的内部类不能有static数据和static字段,也不能包含嵌套类。但是嵌套类可以包含所有这些东西。
如果需要引用外围类对象,可以通过在此外围类名称后面跟一个句点和this关键字来实现。
一个内部类被嵌套多少层并不重要——它能透明地访问所有它所嵌入的外围类的所有成员。
8.3 为什么需要内部类。
内部类使得多重继承的解决发难变得完整。
闭包和回调
内部类与控制框架
如果知道某事物应该成为一个基类,那么第一选择应该是使它成为一个接口,只有在强制你必须要具有方法定义和成员变量的时候 ,采用该改而选择抽象类,或者在必要时使其成为一个具体类。
extends可以引用多个接口,但只可以将extends用于单一类。
接口中的任何字段都自动是static和final的。
嵌套接口。
8.2 内部类
内部类和组合是完全不同的概念。
当将内部类向上转型为其基类,尤其是转型为一个接口的时候,内部类就有了用武之地。这是因为此内部类——某个接口的实现——对于其他人来说能够完全不可见,并且不肯用。所得到的只是指向基类或借口的引用,所以能够很方便地隐藏实现细节。
普通的(非内部类的)类,不能声明为private或protected;它们只可以被赋予public或者包访问权。
在方法和作用域内的内部类。
匿名内部类。
内部类拥有其外围类的所有元素的访问权。(当某个外围类的对象创建了一个内部类对象时,此内部类对象必定会保存一个指向那个外围类对象的引用。)
嵌套类
如果不需要内部类对象与其外围类对象之间有关系,那么可以将内部类声明为static。这通常称为嵌套类。
嵌套类意味着:
1)要创建嵌套类的对象,并不需要其外围类的对象。
2)不能从嵌套类的对象中访问非静态的外围类对象。
嵌套类与普通的内部类还有一个区别。普通内部类的字段和方法,只能放在类的外部层次上,所以普通的内部类不能有static数据和static字段,也不能包含嵌套类。但是嵌套类可以包含所有这些东西。
如果需要引用外围类对象,可以通过在此外围类名称后面跟一个句点和this关键字来实现。
一个内部类被嵌套多少层并不重要——它能透明地访问所有它所嵌入的外围类的所有成员。
8.3 为什么需要内部类。
内部类使得多重继承的解决发难变得完整。
闭包和回调
内部类与控制框架
相关文章推荐
- java编程思想概括(第八章)---接口与内部类
- 第八章 接口与内部类
- Think in java 第八章 多态 第九章 接口 第十章 内部类
- Thinking in Java 第七章 多态 第八章:接口与内部类 第九章:异常处理
- JavaSE 复习_4 接口多态和内部类
- 类与接口(二)java的四种内部类详解
- 实践证明:当类想实现两个监听接口的时候,必须把两个都设置成内部类,不可能一个是外部类实现,一个是内部类实现。这样容易捕获错误,出现异常。
- 接口-抽象类-内部类
- Java中:接口,抽象类,内部类
- 外部类、外部接口、类的内部类、类的内部接口、接口的内部类、接口的内部接口 修饰符
- java基础第六天_接口与适配器模式、多态、内部类
- 内部类,static关键字,接口和抽象类.
- 接口,抽象类,内部类的区别
- 05.面向对象(二)【单例】【继承】【多态】【接口】【final】【内部类】
- 如果实现接口的类只使用一次用处不大换为如下简便写法——匿名内部类
- 接口,抽象类,内部类
- Java基础(八) Java修饰符及接口详解之(二) 内部类
- UNPv1第八章:基本UDP套接口编程
- 2018/01/09JAVA 基础 / 接口与继承 / JAVA的4种内部类详解
- 黑马程序员 接口和内部类