《EffectiveJava》读后感(第2章创建和销毁对象 第4条)

    技术2022-07-10  95

    通过私有化构造器强化不可实例化的能力

    简单来说就是工具类需要私有化构造器来防止被使用者实例化,这是在编程过程中老员工会在无意间传授的一个小技巧,但这个小技巧非常的有用,需要在代码开发中严格的遵守。

    java.lang.Math和java.util.Arrays都是这样做的。如果你企图通过做成抽象类来防止类被实例化是行不通的。该类可以被子类化,并且子类也可以被实例化。

    这种有个小小的副作用,就是私有化构造器后子类没有可访问的超类构造器可调用了。但这相对来说影响并不大,并且一般来说工具类就不是被设计来进行继承的。

    Processed: 0.014, SQL: 9