提示四

作者: 飞絮搅青冥 | 来源:发表于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