美文网首页
Effectvie Java- 创建和销毁对象

Effectvie Java- 创建和销毁对象

作者: 木头小菜鸟 | 来源:发表于2020-02-07 12:42 被阅读0次

    Effetive Java系列笔记均为Effective Java(第三版) 读书笔记和总结

    1.用静态工厂方法代替构造器

    静态工厂方法(返回类的实例的静态方法)

    Boolean

    public static Boolean valueOf(boolean b) {
            return (b ? TRUE : FALSE);
    }
    

    静态工厂方法相较于构造器的优势

    • 有名称

    构造器(BigInteger(int,int,Random)):

    public BigInteger(int bitLength, int certainty, Random rnd) {
            BigInteger prime;
    
            if (bitLength < 2)
                throw new ArithmeticException("bitLength < 2");
            prime = (bitLength < SMALL_PRIME_THRESHOLD
                                    ? smallPrime(bitLength, certainty, rnd)
                                    : largePrime(bitLength, certainty, rnd));
            signum = 1;
            mag = prime.mag;
     }
    

    静态工厂(BigInteger.probablePrime(int,Random)):

    public static BigInteger probablePrime(int bitLength, Random rnd) {
            if (bitLength < 2)
                throw new ArithmeticException("bitLength < 2");
    
            return (bitLength < SMALL_PRIME_THRESHOLD ?
                    smallPrime(bitLength, DEFAULT_PRIME_CERTAINTY, rnd) :
                    largePrime(bitLength, DEFAULT_PRIME_CERTAINTY, rnd));
    }
    

    对比来看:
    ①静态方法能够确切的描述返回对象
    ②更容易使用
    ③产生的客户端代码更易于阅读

    • 不必在每次调用时都创建一个新对象
    • 返回原类型的任何子类型的对象
    • 所返回的对象的类可以随着每次调用而发生变化,这取决于静态工厂方法的参数值
    • 方法返回的对象所属的类,在编写包含改静态工厂方法的类时可以不存在

    静态工厂方法的缺点

    相关文章

      网友评论

          本文标题:Effectvie Java- 创建和销毁对象

          本文链接:https://www.haomeiwen.com/subject/mcrmxhtx.html