有时候我们需要防止使用无参构造函数创建对象,即new 类名()。我们可以将该类的无参构造函数的访问权限设置为private,将有参构造函数设置为public即可,例如:
public class StringUtil{
private String arg0;
private StringUtil(){}
public StringUtil(String arg0){
this.arg0=arg0;
}
public String getArg0() {
return arg0;
}
public void setArg0(String arg0) {
this.arg0 = arg0;
}
}
public class Main_ {
public static void main(String[] args) {
//StringUtil su1=new StringUtil();//错误
StringUtil su2=new StringUtil(/"Arg/");//正确
System.out.println(su2.getArg0());
}
}
如果不允许StringUtil类有子类,可以加final修饰,即:
public final class StringUtil{
..................
}
防止通过无参构造函数创建对象
最新推荐文章于 2022-09-04 20:10:09 发布