静态构造方法的面试题

 

 
public class A
    {
        public static int Y = 3;    //@@@@过程一
        /// <summary>
        ///   静态构造函数,一般在调用静态变量A.Y,这时Y=4 <==>(3+1),或者第一次调用构造方法 如 A a =new A();的时候会执行,且执行一次
        /// </summary>
        static A()      //@@@@过程二 静态构造方法(注意这里不能使用除static以外的其他修饰符)
        {

            Y += 1;
        }
        /// <summary>
        /// 这个是类(默认)构造方法
        /// </summary>
        public A()       //@@@@过程三
        {
            Y  = 9;
        }
    }
    public class B
    {

        public int like()
        {

            return A .Y;//此时的Y 会执行默认构造方法执行   //@@@@执行过程二  且只执行过程二 1次

        }
        public int like2()
        {
            A a = new A(); //此时的Y 会执行默认构造方法执行   //@@@@过程三 
            return A .Y;

        }
    }
////调用上面的方法
public string testStatic()
        {
            B b = new B();
            return string .Format("like is {0} ,like2 is {1}", b.like(), b.like2());

        }
//输出为
like is 4 ,like2 is 9

这里主要是考静态构造函数,还有构造函数的方法
虽然现在知道他的调用过程,但还不是很清楚这个静态构造函数到底有什么用处。
          

转载于:https://www.cnblogs.com/start-x/p/5196119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值