《Effective Java》 读书笔记(一)

对象的创建与销毁

ITEM1 使用静态工厂方法代替构造函数

传统的新建一个对象的方法是通过构造函数:

Foo foo =new Foo();

一个类也可以提供一个静态方法产生一个对象:

Boolean flag=Boolean.valueOf(b);

这两种方法都可以产生一个对象,但是什么时候应该使用哪种方法?两种方法分别有什么优点和缺点呢?

对于使用静态方法产生一个对象来说:

1.静态方法可以自定义方法名

静态方法更能够通过方法名描述所返回的对象

有时候一个类包含多个构造函数,并且每个构造函数所产生的对象会稍微有些差别。那么使用静态方法产生一个对象是一个非常好的选择。

看以下代码:

BigInteger bigIntege=new BigInteger(int,int,Random);

如果不查看这个构造函数的文档,我们并不知道这个构造函数会返回一个具体什么样的BigInteger给我们。

但是:

BigInteger bigInteger=BigInteger.probablePrime(int,Random);

就能直接看出来,这样会产生一个素数对象。

PS:别过度使用静态方法,例如:

public class Base64{
    public Base64 initByString();
    public Base64 initByByte();
    public Base64 initByInteger();
}

适当使用重载能让代码更简洁,也更方便使用。

猜你喜欢

转载自www.cnblogs.com/dengchengchao/p/8946508.html