静态构造方法的面试题

 

 
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

这里主要是考静态构造函数,还有构造函数的方法
虽然现在知道他的调用过程,但还不是很清楚这个静态构造函数到底有什么用处。
         
posted @ 2016-02-17 17:36  Pello  阅读(337)  评论(0编辑  收藏  举报