1)我如果在类中不显示定义构造函数,是不是有默认的构造函数 ,
2)如果在一个类中,我定义了两个构造函数,其中以个用static,另一个用public声明,哪么在声明对象时,要调用那个呢》
   还是说有什么区别和联系,麻烦举例说明,刚刚起步?不知道的太多了。总是感觉自己知识不够。

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/k9x6w0hc(VS.80).aspx
      

  2.   

    static的那个叫'类型构造函数',对同一种类型,该函数只在第一次用到该类型的时候被调用。
    另一个你用public声明的叫'实例构造函数',该函数在构造每个实例都会被调用。    class A
        {
            static A()
            {
                Console.WriteLine("A type created.");
            }
            public A()
            {
                Console.WriteLine("An A created.");
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                A a1 = new A();    // A type created. An A created."
                A a2 = new A();    // An A created.
                A a3 = new A();    // An A created.
                A a4 = new A();    // An A created.
            }
        }
      

  3.   

    A a1 = new A();    // A type created. An A created."   ??????就是说在第一次声明对象a1时,调用的时 静态(static)构造函数,而接下来声明对象(a2 a3  a4)都是调用公共构造函数。那么类中定义的变量会怎么变化?ths!
      

  4.   

    gomoku解释的很清楚了第一次声明对象的时候 调用static修饰的类型构造函数后 还要调用实例构造函数  
      

  5.   

    那么类中定义的变量会怎么变化? 
    这句话说的不是很好,除非你的字段是static
    如果类中有一个static字段,则这个类所有的对象都可以对其更改
    不是static字段,每个对象各自控制自己的字段
      

  6.   

    一直没有用到static constructor.
      

  7.   

    1) 是
    2)先调用类型构造函数,也就是STATIC那个,然后实例构造函数
       如:
    class zzz
    {
    public static void Main()
    {
    System.Console.WriteLine("hi");
    new zzz();
    }
    zzz()
    {
    System.Console.WriteLine("bye");
    }
    static zzz()
    {
    System.Console.WriteLine("byes");
    }
    }
    输出:
    byes 
    hi 
    bye
      

  8.   

    1)我如果在类中不显示定义构造函数,是不是有默认的构造函数 , 
    答:是的,有一个不带任何参数的构造函数,构造函数里什么页不做。
    2)如果在一个类中,我定义了两个构造函数,其中以个用static,另一个用public声明,哪么在声明对象时,要调用那个呢》 
       还是说有什么区别和联系,麻烦举例说明,刚刚起步?不知道的太多了。总是感觉自己知识不够。
    答:static的构造函数用于初始化静态成员变量。静态的构造函数不允许有任何的修饰符。你通过new来实例化一个实例的时候,调用的是非静态的构造函数。
    static的那个叫'类型构造函数',对同一种类型,该函数只在第一次用到该类型的时候被调用。 
    另一个你用public声明的叫'实例构造函数',该函数在构造每个实例都会被调用。 
      

  9.   

    1)我如果在类中不显示定义构造函数,是不是有默认的构造函数 ,  
    答:是的,在自己没有定义任何构造函数时,系统 会有一个默认的构造函数.
    2)如果在一个类中,我定义了两个构造函数,其中以个用static,另一个用public声明,哪么在声明对象时,要调用那个呢》  
       还是说有什么区别和联系,麻烦举例说明,刚刚起步?不知道的太多了。总是感觉自己知识不够。 
    答:static的构造函数是静态构造函数,在程序第一次程序加载或运行时,即调用静态构造函数,而且是只调用一次;
    publi声明的构造函数是用来实例化对象的时候调用的,没定义一个该类的对象就调用一次.
    至于例子,可以看8楼的例子.