构造方法为private目的就是为了不让你用new来创建该类型的对象,而枚举类型的个数必须是确定的(根据枚举体的作用定义)所以它必须是private。
构造方法设置成public就是让外部可以访问,设置成private就只能自己访问了。
如果只是想引用类的方法,不需要设置成这么复杂。多写点代码就可以达到目的,还方便自己识别。
public class God{。
public void home(){......}。
其他的地方引用
God god = new God();。
god.home();
就可以了,语言更简洁些,方便理解。
答案是private修饰的构造函数是不可以new的 ;public修饰的构造函数是可以new 的。
举例如下:
1、定义一个类Constructor 无参和有参构造分别public 、private修饰。
package BaiduKnows;。
public class Constructor {。
private int x=1;。
public Constructor() {。
System.out.println(" 无参是有构造函数");。
private Constructor(int x) {。
this.x=x;
System.out.println("带参共有构造函数 X="+x);。
2、从新定义测试类:
package BaiduKnows;。
public class ConstructorTest {。
public static void main(String[] args) {。
Constructor con = new Constructor();//这是可以的。
//Constructor con = new Constructor(20);这不可以。
可以,这个类就不能再外部被new了,如果需要这个类的实例化对象,就只能在类内部提供静态方法生产这个类的对象了。
创建类对象就会调用构造函数,private是只能本类成员调用,你创建的对象根本没法调用private,肯定不能初始化啊。
原文地址:http://www.qianchusai.com/java%E4%B8%AD%E6%9E%84%E9%80%A0%E5%99%A8%E6%98%AFprivate.html