标签: java abstract-class private-constructor
我有一个只有静态方法和字段的java类,所以我不希望为此创建任何对象。 我可以通过两种方式实现这一目标,
两者中哪一种更好?
答案 0 :(得分:41)
你应该使用private构造函数。
private
如果您的类是抽象的,则可以扩展它并创建对象。根据我对这个问题的理解,你想要的是不可实例化的类。
来自Item 4 of Effective java:
尝试通过使类抽象来强制执行非实例化不起作用。该类可以是子类,子类实例化。此外,它误导用户认为该类是为继承而设计的