第十章:内部类(上)
来源:互联网 发布:ibm电池修复软件 编辑:程序博客网 时间:2024/05/21 23:31
可以将一个类的定义放在另一个类的定义内部,这就是内部类。
内部类是一种非常有用的特性,它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。
内部类可以访问外部类的所有成员,内部类持有外部类的引用。
10.3 .this 和 .new
如果你在内部类需要对外部类引用, 可以使用 外部类的名字.this
。其在编译期就被知晓并受到检查,因此没有任何性能开销。
必须使用外部类对象来创建内部类对象(静态内部类除外)。外部类对象.new 内部类名称()
。
10.4 内部类与向上转型
private内部类给类的设计者提供了一种途径,通过这种方式可以完全阻止任何依赖于类型的编码,并且完全隐藏了实现的细节。【个人感觉:这小节说的是private的内部类,在外部类中提供创建内部类对象的方法,因为是private修饰的,所以其他类没有访问权限。隐藏实现细节。】
10.5 在方法和作用域内的内部类
为什么这么做呢?
1. 你实现了某类型的接口,于是可以创建并返回对其的引用。
2. 你需要解决一个复杂的问题,想创建一个类来辅助你的解决方案,但是又不希望这个类是公共可用的。
10.6 匿名内部类
没有名字的内部类。
10.7 嵌套类
嵌套类其实就是指静态内部类。
嵌套类不持有外部类的引用。
不能从嵌套类的对象中访问非静态的外部类的对象。
创建内部类对象:new 外部类名称.内部类名称();
10.7.1 接口的内部类
其实就是把内部类定义为接口的成员变量。
public interface TestInner { void eat(); class Test implements Contents{ @Override public int value() { return 0; } }}
一个内部类被嵌套多少层并不重要,它能够透明的访问所有它所嵌入的外围类的所有成员。
0 0
- 第十章 内部类(上)
- 第十章:内部类(上)
- java编程思想读书笔记 第十章 内部类(上)
- 第十章:内部类
- 第十章 内部类
- 第十章 内部类
- 第十章 内部类
- 第十章 内部类
- 第十章 内部类
- 第十章 内部类
- 第十章 内部类
- 第十章 内部类
- 第十章:内部类
- 第十章:内部类
- 第十章 内部类(下)
- 第十章:内部类(下)
- 第十章 多态 & 内部类
- 内部类(上)
- ffmpeg.exe移植到vs2010编译步奏
- swift语言的学习笔记十一(performSelector)
- swift语言的学习笔记十二(willSet与didSet)
- ansj分词方式详细解析
- 在 Linux 上如何清除内存的 Cache、Buffer 和交换空间
- 第十章:内部类(上)
- 1216
- 15 款最好的 C/C++ 编译器和集成开发环境
- C1000k测试服务器支持的tcp连接数
- Factorial Trailing Zeroes
- 图片路径中含有中文在jsp下不能正常显示的问题
- 基于gensim的Doc2Vec简析
- [LeetCode]90. Subsets II
- Node.js的Path对象