本帖最后由 jinianjun 于 2013-10-08 13:58:24 编辑

解决方案 »

  1.   

    静态构造函数会在需要的时候执行且只执行一次,执行的时机包括构造类实例前和访问类静态成员前。因此这个例子里静态构造函数会最先执行。
    默认public的是指在没有为类定义构造函数时,编译器为该类生成构造函数,如果该类不是抽象类,那么生成的空构造函数是public的。而这里显式声明了私有的构造函数,就不会生成公共的空构造函数了。
      

  2.   

    只要你一使用该类(可以不new),就会执行静态构造
      

  3.   

    第一个问题:静态构造函数执行完了以后会执行空构造函数吗?
    第二个问题:“而这里显式声明了私有的构造函数,就不会生成公共的空构造函数了”,请问怎么显示声明的呢?没有加任何的访问修饰符,默认是private吗?
      

  4.   

    你每个方法中添加一个输出语句自己看就是了。肯定是静态初始化->静态构造函数->成员初始化->构造函数实际上所谓的初始化是语法糖。
    class A
    {
        int i = 1;
        A() { }
    }
    其实是
    class A
    {
        int i;
        A() { i = 1; }
    }
      

  5.   


    正解,第一次申明时执行静态构造函数,且只执行一次。
    在new的过程中(实例化函数)执行非静态构造函数。
      

  6.   

    默认是私有的,你需加上public才行
    public Singleton()
        {
        }
      

  7.   

    到底是public还是private呢?那么类Singleton前面如果不加任何修饰符,默认又是什么的呢?
      

  8.   

    参考这个文章理解下:http://www.cnblogs.com/zhili/p/SingletonPatterm.html