关于私有构造函数的疑惑

实例类可以将构造方法设置为私有,这个时候不允许类直接实例化,小弟有些不明白,这样做有什么特别的意思?或是说特别用途?那种情况下这样做,比较好?请大神帮忙解惑,谢谢

5个回答

一般是用来设计单例模式,就整个工程只有一个实例对象

MS_CSDN
Microsoft-笨笨 恩,去了解下,这样做的目的,更多的是适用于单例模式,谢谢你的回复
大约 5 年之前 回复

可以被自己的静态函数创建。

MS_CSDN
Microsoft-笨笨 额,谢谢你的回复,初识,不太了解,如果能更详细点,就很感谢了,先了解下单例模式,回过头也许能更好的理解,呵呵,谢谢,师兄
大约 5 年之前 回复
gamefinity
知常曰明 因此对单例模式有用
大约 5 年之前 回复

就是不能直接构造对象,而需要特定public的函数来生成对象。类似工厂模式

MS_CSDN
Microsoft-笨笨 呵呵,谢谢你的回复,看来这样做还是和设计模式相关,先了解下,相关模式,如有不明白,再请教,谢谢师兄
大约 5 年之前 回复

我记得单例模式里面就是私有构造方法,等,一般设计模式居多,为了安全性吧这样用

MS_CSDN
Microsoft-笨笨 谢谢你的回答,我想类不同的构建方式是总是有它的道理和用途的,只是不太明白需要这样设计的情景
大约 5 年之前 回复

有些时候某些类不适宜在外部实例化,请参考设计模式-单例模式的实现。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问