java为什么将类中的构造函数设为private,默认构造函数就不能初始化对象了呢?

private在构造函数中的作用是什么?
2024-11-15 18:45:20
推荐回答(3个)
回答1:

创建类对象就会调用构造函数,private是只能本类成员调用,你创建的对象根本没法调用private,肯定不能初始化啊

回答2:

比如说单例模式,就不能在外部来创建类对象,而是通过一个方法在类本身来创建,看下下面例子就明白了

public class Cat {

public static Cat cat;

private Cat() {}

public static Cat getInstance() {//这样就可以保证整个程序最多只能有一个cat对象
if(cat == null) {  //如果cat为null,就创建cat对象,否则不创建,直接在下面返回已经存在的cat
cat = new Cat();
}
return cat;
}

}

回答3:

一个类如果自定义了构造函数,那么就失去了默认提供的空构造函数,所以就没法用空构造了