首页 > 代码库 > Think in Java 静态工厂方法学习总结
Think in Java 静态工厂方法学习总结
静态工厂方法是一个返回类实例的静态方法。静态工厂方法的用于替代构造方法。
1、静态工厂方法的优点
如果一个构造方法的参数没有具体描述要返回的对象,那么使用一定意义名字的静态工厂方法使得该类更利于使用。
如果一个类有多个特征相同的构造方法,那么应该考虑用有特殊意义名字的静态工厂方法来代替构造方法。
静态工厂方法在调用的时候不要求一定要有类对象。对于一个非可变类,可以使用一个预先构造好的实例,或者实例已经缓存起来,避免创建重复对象。
静态工厂方法可以为重复的调用返回同一个对象。第一他可以使一个类确保是单例的;第二他使得非可变类不存在两个相等的实例(==和eques都为真)。用==代替eques可以提高性能。
静态工厂方法可以返回一个类的子类对象。实现返回一个非公有类,隐藏具体实现,API更简洁。
接口作为静态工厂方法的自然返回类型。
2、静态工厂方法的不足
类如果不含有公有或保护类构造方法,就不能被子类化。
常用valueOf getInstance
3、总结
构造方法符合规范,优先使用。
Think in Java 静态工厂方法学习总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。