《Effective Java》
夏沐_lk
这个作者很懒,什么都没留下…
展开
-
《Effective Java》 创建和销毁对象之用私有构造器或枚举类型强化Singleton属性
Singleton指仅仅被实例化一次的对象。Singleton通常被用来代表那些本质上唯一的系统组件。 在JDK1.5分布之前,实现Singleton的两种方式(饿汉式和懒汉式)均采用将构造器私有化,并导出共有的成员变量的方式实现。(1)在第一种方式中,公有静态成员是final域:public class Elvis{ public static...原创 2020-02-10 13:43:30 · 156 阅读 · 0 评论 -
《Effective Java》 创建和销毁对象之构造器参数较多时考虑构建器(建造者模式)
在类中,静态工厂和构造器有一个共同的局限性:它们不能很好的扩展到大量的可选参数。 例如:当构造器的参数可能有1,2,···,8,···等,且构造器的个数不唯一。(1)重叠构造器模式 在这种情况下开发者习惯采用重叠构造器模式,即提供只有一个参数的构造器,提供只有两个参数的构造,以此类推,最后一个构造器含有所有的可选参数。这种方式可行,但是当许多...原创 2020-02-09 12:51:09 · 193 阅读 · 0 评论 -
《Effective Java》 创建和销毁对象之使用静态工厂方法代替构造器
对于类而言,为了让客户端获取类的一个实例对象,最常用的方法就是提供一个公有的构造器,但是还有一种方法,使用公有的静态工厂方法(注意与设计模式区分),该方法可以返回类的实例对象。一、静态工厂方法与构造器相比优势在于:(1)静态工厂方法有名称。事实上构造器输入的参数本身并没有确切的描述正在返回的对象,此时一个适当名称的静态工厂方法更容易让开发者理解。此外,一个类只能有一个输入完...原创 2020-02-07 14:34:21 · 228 阅读 · 0 评论