.net中,包含私有构造函数的类不能被实例化这句话怎么理解? 什么意思

如题所述

补充:C#中类在没有显示写实例构造器,编译器会默认一个无参构造器,为的就是在外部调用构造器实例化类。
public class Person{
public Person(){} // 没写默认,当然也可以显示写
}
public class Program{
static void Main(){
Person p=new Person(); 所以此调用编译通过
}
}

当私有构造器,private Person(){} 私有成员的可访问性限制Person()只能在其内部调用,所以这s时在外部是无法实例化类。当然这种情况是没有在重载构造器的情况下,如果Person中重载了一个
public Person(int age){} 的构造器另说。

所以这里我的理解是在显示私有无参构造器并且在没有重载的情况下,在类的外部不能实例化这个类。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-06
.NET中一般用C#语言,在C#中一般有个默认构造函数,如果你写了私有构造函数,也就是外部无法访问,你在初始化一个类的时候会出错,就像Person p=new Person() 如果Person有私有构造函数就会出错,只能在Person的内部构造才不会错
相似回答