对C# 构造函数的理解

 

C#构造函数是在创建给定类型的对象时执行的类方法。

构造函数具有与类相同的名称,它通常初始化新对象的数据成员。不带参数的构造函数称为“默认构造函数”。

无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。

除非类是 static 的,否则 C# 编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。

需要注意的是如果类的修饰符为static( sealed 和 abstract) 则编译器不会再类的定义中生成默认构造函数

对于值类型的构造函数与引用类型的构造器截然不同,CLR总是允许创建值类型的实例,并没有办法去阻止值类型的实例化,

编译器根本不会为值类型生成默认的无参构造器。

对于值类型不能包含显示的无参构造器

   internal struct Point  

   {        

    public int ShowNumner;

            public Point()      

         {            

           ShowNumner = 5;    

           }   

  }

 

各位看官 如果调用输出ShowNumner 值会是多少啊 ?小心上当 哦

 

 

 

posted @ 2013-07-16 11:31  赵大宝  阅读(308)  评论(0编辑  收藏  举报