[编写高质量代码:改善java程序的151个建议]建议38-41
2014-01-12 18:10
519 查看
38.使用静态内部类提高封装性
1.封装性
2.限制性。静态内部类不持有外部类的引用。对静态内部类的访问做了限制。
3.生命周期,不依赖于外部类。
39.
使用匿名类的构造函数
eg:
List l1 = new ArrayList();
List l2 = new ArrayList(){};//匿名类
List l3 = new ArrayList(){ {} {} {} {} }//匿名类,构造代码块
40.匿名类的构造
只能以构造代码块的形式出现,不能直接有构造函数。
41.内部类实现多重继承
1.封装性
2.限制性。静态内部类不持有外部类的引用。对静态内部类的访问做了限制。
3.生命周期,不依赖于外部类。
39.
使用匿名类的构造函数
eg:
List l1 = new ArrayList();
List l2 = new ArrayList(){};//匿名类
List l3 = new ArrayList(){ {} {} {} {} }//匿名类,构造代码块
40.匿名类的构造
只能以构造代码块的形式出现,不能直接有构造函数。
41.内部类实现多重继承
eg: interface Father{ public int strong(); } class FatherImpl implements Father{ public int strong(){ return 8; } } interface Mother{ public int kind(); } class MotherImpl implements Mother{ public int kind(){ return 8; } } class Son extends FatherImpl implements Mother{ @Override public int strong(){ return super.strong() + 1; } public int kind(){ return new MotherSpecial().kind(); }//实际上可以直接 return super.kind() - 1 public class MotherSpecial extends MotherImpl{ public int kind(){ return super.kind() - 1; } } } class Daughter extends MotherImpl implements Father{ @Override public int strong(){ return new FatherImpl(){ @Override public int strong(){ return super.strong() - 2; } }.strong(); } }
相关文章推荐
- [编写高质量代码:改善java程序的151个建议]建议38-41
- 编写高质量代码:改善Java程序的151个建议(第3章:类、对象及方法___建议41~46)
- [编写高质量代码:改善java程序的151个建议]建议54:正确使用String,StringBuffer,StringBuilder
- [编写高质量代码:改善java程序的151个建议]建议73 使用Comparator进行排序
- [编写高质量代码:改善java程序的151个建议]建议63 在明确的场景下,为集合指定初始容量
- 编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理
- [编写高质量代码:改善java程序的151个建议]建议127 Lock, synchronized
- 《编写高质量代码改善Java程序的151个建议》学习笔记 第6章 枚举和注解
- 编写高质量代码改善java程序的151个建议——导航开篇
- 编写高质量代码:改善Java程序的151个建议 --[78~92]
- [编写高质量代码:改善java程序的151个建议]建议56:自由选择字符串拼接方法
- [编写高质量代码:改善java程序的151个建议]建议74 不推荐使用binarySearch对列表进行检索
- [编写高质量代码:改善java程序的151个建议]建议104 forName动态加载类文件
- 编写高质量代码-改善java程序的151个建议-第一章 01
- 读书笔记--编写高质量代码:改善java程序的151个建议(二)匿名类与构造代码块
- [编写高质量代码:改善java程序的151个建议]建议64 多种最值算法