抽象类与私有构造函数
我有一个Java类,它只有静态方法和字段,所以我不希望为此创建任何对象。 我可以通过两种方式实现这一点
- 放弃类。
- 使用私有构造函数。
这两种方法哪一种更好?
解决方案
您应该使用private
构造函数。
如果您的类是抽象的,则可以对其进行扩展并创建对象。根据我从问题中的理解,您需要的是不可实例化的类。
发件人Item 4 of Effective java:
试图通过使类抽象来强制非实例化是不起作用的。类可以子类化,子类可以实例化。此外,它还误导用户认为该类是为继承而设计的
相关文章