提示四

作者: 飞絮搅青冥 | 来源:发表于2022-04-06 23:04 被阅读0次

今天看第四条:使用私有构造器强化不可实例化的能力。

这一节中,作者讲了那些只有静态方法和静态域的类。这样的类一般是一些工具类,我平时也经常会用到,但是作者接下来的说的东西我却从来都没有考虑过。作者为了把这些类做成不可实例化的,特意写了私有的构造器,但是这样同时会导致这些类无法被继承。

// Noninstantiable utility class
public class UtilityClass {
    // Suppress default constructor for noninstantiability
    private UtilityClass() {
        throw new AssertionError();
    }
    ... // Remainder omitted
}

这种用法有点反直觉,通过给出一个私有的构造器,避免编译器默认提供的公共无参的构造器。不过这样做的意义到底有多大呢?为了API上少一个没有意义的方法?这一点或许还需要我进一步的思考。

相关文章

网友评论

      本文标题:提示四

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