Think in Java 静态工厂方法学习总结
来源:互联网 发布:违约金双倍怎么算法 编辑:程序博客网 时间:2024/05/01 16:32
静态工厂方法是一个返回类实例的静态方法。静态工厂方法的用于替代构造方法。
1、静态工厂方法的优点
如果一个构造方法的参数没有具体描述要返回的对象,那么使用一定意义名字的静态工厂方法使得该类更利于使用。
如果一个类有多个特征相同的构造方法,那么应该考虑用有特殊意义名字的静态工厂方法来代替构造方法。
静态工厂方法在调用的时候不要求一定要有类对象。对于一个非可变类,可以使用一个预先构造好的实例,或者实例已经缓存起来,避免创建重复对象。
静态工厂方法可以为重复的调用返回同一个对象。第一他可以使一个类确保是单例的;第二他使得非可变类不存在两个相等的实例(==和eques都为真)。用==代替eques可以提高性能。
静态工厂方法可以返回一个类的子类对象。实现返回一个非公有类,隐藏具体实现,API更简洁。
接口作为静态工厂方法的自然返回类型。
2、静态工厂方法的不足
类如果不含有公有或保护类构造方法,就不能被子类化。
常用valueOf getInstance
3、总结
构造方法符合规范,优先使用。
0 0
- Think in Java 静态工厂方法学习总结
- think in java 学习总结
- think in java 总结
- Think in Java 学习
- Think in Java学习总结(一)之对象
- think in java 学习笔记(一)方法重载
- think in java 学习笔记
- [think in java]知识点学习
- [Think in java]静态数据的初始化
- Java 静态工厂方法
- Java 静态工厂方法
- java 静态工厂方法
- JAVA 静态工厂方法
- think in java 隐藏实施过程总结
- [think in java2]java并发问题总结
- Think in java 第一章 总结随笔
- think in java第八章多态 总结随笔
- Think in java 学习手记(一)
- 我的第一次记录
- Qt开发入门
- 马尔科夫随机场
- XMLHTTP.readyState的五种状态
- qmake生成VS的vcproj/sln工程文件
- Think in Java 静态工厂方法学习总结
- CV++转DELPHI
- 用户空间访问I2C设备驱动
- C++ PRIMER之5 表达式
- linux下oracle自启动详解
- 关于butterknife在Eclipse中的空指针的问题
- android-----JNI中的log打印
- 保留List中前K个元素
- apache2.2+Php5.3+mysql5.6