这种做法有何优点?构造函数设成private,然后通过静态方法来调用此private构造函数返回reference.

JCC0128 JCC0128 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
标题:
这种做法有何优点?构造函数设成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即可,这个并不是问题。
...全文

相关推荐

评论 21
收藏 已收藏
分享
返回顶部
JCC0128
Java SE 62,620 成员 307,251 内容