我最近发现了一种在Google Guava和Project Lombok中创建对象的新实例的有趣方法:隐藏静态创建方法背后的构造函数.这意味着new HashBiMap()你可以做而不是做HashBiMap.create().
我的问题是为什么?隐藏构造函数有什么好处?对我来说,我认为这样做绝对没有优势,它似乎打破了基本的对象创建原则.因为开始创建一个对象new Object(),而不是一些Object.createMe()方法.这几乎就像为创建方法创建一个方法.
你这样做会得到什么?
类允许客户端获取实例的常规方法是提供公共构造函数.另一种方法是提供一个公共静态工厂方法,它只是一个返回类实例的静态方法.使用静态工厂方法有什么利弊?
java ×2