• 【Effective Java读书笔记】创建和销毁对象(一):考虑使用静态工厂方法代替构造器


    类可以提供一个静态方法,返回类的一个静态实例,如Boolean包装类的一个获取实例的静态方法

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

       优势:

       1、有名称。当一个类需要多个带有相同签名的构造器时,就用静态工厂方法代替构造器,并慎重选择名称以突出它们之间的区别。 如:BigInteger.probablePrime(int bitLength, Random rnd) 返回一个随机的素数。

       2、不必在每次调用它们的时候都创建一个新对象。

       3、可以返回其子类,在选择返回对象的类时有了更大的灵活性。

       4、简化代码。

       缺点:

       1、整个类如果没有public 或 protected类型的构造器,则它将不能被继承,即不能作为超类,相当于final。

       2、与其他静态方法在api文档中没有区别,不像构造器在api中可以标识出来

    静态工厂方法惯用名称:

    •     valueOf —— 返回的实例与其参数具有相同的值,实际上是一种类型转换方法
    •     of —— valueOf简洁的替代,EnumSet中有使用
    •     getInstance
    •     newInstance ——同getInstance,保证每个返回的实例都与其他实例不同
    •     getType —— Type表示工厂方法所返回的对象类型
    •     newType
  • 相关阅读:
    Jquery实现Gridview全选功能
    SQL Server日期计算
    避免表格table被撑开变形的CSS代码实例
    oracle游标使用
    最短路径算法及应用
    Jquery实现GridView隔行变色,鼠标经过变色,单击或者选中变色
    【项目】项目109
    【项目】项目107
    【项目】项目111
    【项目】项目110
  • 原文地址:https://www.cnblogs.com/zoujiejun96/p/8778304.html
Copyright © 2020-2023  润新知