![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
iteye_7449
这个作者很懒,什么都没留下…
展开
-
1. 使用静态工厂方法代替构造函数
在想创建一个对象的时候,尽量使用静态工厂方法(static factory method)来代替构造方法。比如:Boolean b = Boolean.valueOf(true);而非Boolean b = new Boolean(true);好处之一,与构造方法不同,方法是有名字的。在弄一些类似DSL的时候,可能会比较有用。与其要记住很多构造参数的含义,不如用一个命名良好的方法来...2008-07-04 15:26:38 · 163 阅读 · 0 评论 -
使用Chain的Builder方法代替有超多参数的构造方法
我们有时候会遇到一些有超多参数的构造函数。其实对于日渐复杂的类来说,这种情况并不少见。使用Builder和一些method chain的改造,可以使我们的代码看起来更加DSL化。[code="java"]Car car = CarBuilder.buildCar(CarType.MINI).engine(CarEngine.CVTT).size(3.15).build();[/code...2008-07-08 17:37:27 · 280 阅读 · 0 评论 -
对于一个单例的存取强制一个private constructor或者一个enum
在Java中有很多需要单例(Singleton)的场合,来保证其只被创建一次。先来看看2种在JDK1.5之前的2种实现方法,然后再看一种JDK1.5及以后才可以用的实现方法。[list=1][*]声明constructor为private,然后将该单例对象声明为public的。[code="java"]// Singleton with public final fieldpu...2008-07-17 17:18:03 · 199 阅读 · 0 评论 -
通过private的构造方法来强制一个类不能被实例化
要保证一个类不能被实例化(比如某些Utility类,主要是一些静态方法),为这个类写一个private的构造方法那是最好的了。[code="java"]public class UtilityClass { private UtilityClass() { throw new AssertionError(); }......}[/code...2008-07-18 17:34:05 · 859 阅读 · 0 评论