我们可以在 Java 中将构造函数声明为私有吗?
javaobject oriented programmingprogramming更新于 2025/7/11 12:28:17
是的,我们可以将构造函数声明为私有。如果我们将构造函数声明为私有,我们就无法创建类的对象。我们可以在单例设计模式中使用这个私有构造函数。
私有构造函数的条件
- 私有构造函数不允许类被子类化。
- 私有构造函数不允许在类外创建对象。
- 如果所有常量方法都存在于我们的类中,我们可以使用私有构造函数。
- 如果所有方法都是静态,那么我们可以使用私有构造函数。
- 如果我们尝试扩展具有私有构造函数的类,将发生编译时错误。
示例
class SingletonObject {
private SingletonObject() {
System.out.println("In a private constructor");
}
public static SingletonObject getObject() {
// we can call this constructor
if (ref == null)
ref = new SingletonObject();
return ref;
}
private static SingletonObject ref;
}
public class PrivateConstructorDemo {
public static void main(String args[]) {
SingletonObject sObj = SingletonObject.getObject();
}
}
输出
In a private constructor
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

