码迷,mamicode.com
首页 > 编程语言 > 详细

Think in Java 静态工厂方法学习总结

时间:2014-11-21 12:49:35      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:java

静态工厂方法是一个返回类实例的静态方法。静态工厂方法的用于替代构造方法。

1、静态工厂方法的优点

如果一个构造方法的参数没有具体描述要返回的对象,那么使用一定意义名字的静态工厂方法使得该类更利于使用。

如果一个类有多个特征相同的构造方法,那么应该考虑用有特殊意义名字的静态工厂方法来代替构造方法。

静态工厂方法在调用的时候不要求一定要有类对象。对于一个非可变类,可以使用一个预先构造好的实例,或者实例已经缓存起来,避免创建重复对象。

静态工厂方法可以为重复的调用返回同一个对象。第一他可以使一个类确保是单例的;第二他使得非可变类不存在两个相等的实例(==和eques都为真)。用==代替eques可以提高性能。

静态工厂方法可以返回一个类的子类对象。实现返回一个非公有类,隐藏具体实现,API更简洁。

接口作为静态工厂方法的自然返回类型。


2、静态工厂方法的不足

类如果不含有公有或保护类构造方法,就不能被子类化。

常用valueOf getInstance 

3、总结

构造方法符合规范,优先使用。

Think in Java 静态工厂方法学习总结

标签:java

原文地址:http://blog.csdn.net/u014600432/article/details/41345181

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!