关于构造函数的调用问题


 

有如下定义

Code:
  1. public class Class1   
  2. {   
  3.     public static int Count = 0;   
  4.     static Class1()   
  5.     {   
  6.         Count++;   
  7.     }   
  8.     public Class1()   
  9.     {   
  10.         Count++;   
  11.     }   
  12. }  

 

 

则以下代码输出?

Code:
  1. public static void Main()   
  2. {   
  3.     Class1 o1 = new Class1();      
  4.     Class1 o2 = new Class1();      
  5.     Console.Write(Class1.Count);      
  6. }  

 



备选答案: A : 1
B : 2
C : 3
D : 4
解释:
一个类在初始化时先调用其静态字段声明,再调用静态构造函数,最后再调用公用构造函数(不考虑基类的构造函数调用顺序),而且不管这个类有多少实例,静态字段和静态函数只调用一次,所以执行完Class1 o1 = new Class1();时count=2;执行Class1 o2 = new Class1();时只会调用其构造函数,执行完后count=3

C

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值