这种做法有何优点?构造函数设成private,然后通过静态方法来调用此private构造函数返回reference.
标题:
这种做法有何优点?构造函数设成private,然后通过静态方法来调用此private构造函数返回reference.
内容:
B.下述这种做法的优点何在?在外面直接调用构造函数会出什么问题吗?我现在的疑问就是直接调用构造函数会有什么隐患? 我感觉两种方式并没有本质的差别 ,最后都返回了对象的reference.
**做法**:将构造函数设置成private权限,然后通过helper方法来调用构造函数,例子如下。
本人认为:一般的方式需要new来创建对象,后面的方式不需要new 呵,简单些~不过这跟TIJ3中的意思不合,它好像还是说直接调用构造函数不好。
class Sundae {
private Sundae() {}
static Sundae makeASundae() {
return new Sundae();
}
}
public class IceCream {
public static void main(String[] args) {
//! Sundae x = new Sundae();
Sundae x = Sundae.makeASundae();
}
} ///:~
PS:问有的网友这个问题时,网友说构造函数是private权限当然不能在外调用,当然这个我可以直接修改其访问权限为public即可,这个并不是问题。