可以是下面这几种protected: 本包以及子类可以使用。default(不写修饰符):本包可以使用。private:仅本类可以使用。通常使用private修饰构造函数后会提供一个公共的方法去实例化该类,
package f;
public class f1 {
public static void main(String arg[]) {
A a=new A (15);
}
}
class A {
int i=0;
private A(int i) {
this.i=i;
}
}
//本包调用 权限要default 以上
由于构造方法前面的访问属性是private ,所以只能在本类里面用构造方法 ,结果只能在类里面建立实例,要想让外面(这里的外面 好好想想)的类得到这个对象,就得创建一个 default protected public 开头的方法来得到对象。例如单例模式。
package f;
public class f1 {
public static void main(String arg[]) {
A a =A.getInstance();
}
}
class A {
private A() {
}
public static A getInstance() {
return new A();
}
}
enum 类的构造方法就是 private
package f;
import java.util.*;
public class f1 {
public static void main(String arg[]) {
Size small=Enum.valueOf(Size.class, "SMALL");
System.out.println(small.getAbb());
}
}
enum Size{
SMALL("S"),MEDIUM("M"),EXTRA_LARGE("XL");
private String abb;
private Size(String abb) {
this.abb=abb;
}
public String getAbb() {
return this.abb;
}
}
以后继续总结