抽象类与私有构造函数

我有一个只有静态方法和字段的java类,所以我不希望为此创建任何对象。我可以通过两种方式实现这一目标,

  1. 使类成为 abstarct。
  2. 使用私有构造函数。

两者中哪一种更好?


答案 1

你应该使用构造函数。private

如果您的类是抽象的,则可以对其进行扩展并创建对象。根据我对这个问题的理解,你想要的是不可实例化的类。

有效java的第4项

试图通过使类抽象来强制非实例性是行不通的。可以对类进行子类化,也可以实例化子类。此外,它误导用户认为该类是为继承而设计的。


答案 2

推荐