回 帖 发 新 帖 刷新版面

主题:C#中的构造函数是否可以使用private修饰

刚学C#,看书时遇到了迷惑,不知道构造函数是否可以使用private修饰,请高手解释一下
可以修饰请说明用private修饰有什么不同,谢谢

回复列表 (共2个回复)

沙发

private 是私有的访问区分符,应该是可以用的。使用构造函数的为了更方便的来初始化类成员的,而访问区分符是定义范围的类成员。总共有四种区分符:public(公共的,允许外部的类访问的) 、 private(私有的,只有本类可以访问并且类的实例也不能访问它) 、 protected(受保护的,出来子类之外其他类都不可以访问) 、 internal(只能在同一名称空间下使用) 、protected internal(同一名称空间和它的子类可用) !
    具体的你看看书就知道了!多实验实验就了解啦!
    我也是新手,如果有错的别见怪哦!嘿嘿

板凳

当然可以用private
修饰符只是限定了方法的访问级别。

使用private修饰构造函数,会使构造函数对外隐藏,造成外部无法调用构造函数生成新的类实例

而设计模式中,“单件模式(Singleton)”就是利用了这一技巧,隐藏构造函数,防止生成多个实例。

我来回复

您尚未登录,请登录后再回复。点此登录或注册