这还要问??
你生成第二个实例时,构造含数又执行了一次
设为5了又重新从5开始了
类在生成实例时构造含数会被隐式执行,
在这就是初始化NUM = 5
如果你把构造含数去掉那么结果会如你所愿,
当然不会到25

解决方案 »

  1.   

    我觉得这样不算是被实例反问吧
    你没有这样引用啊c2_1.num++
    这样应不算,
    不过还是有问题
      

  2.   

    >>c2_1.num++在我的代码中我已经把它设为私有了
      

  3.   

    我的解决方案是这样的using System;
     
    namespace ConsoleApplication1
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
        
    [STAThread]
    static void Main(string[] args)
    {
    //
    // TODO: 在此处添加代码以启动应用程序
    //注意这两行
     Class2 c2_1=new Class2();
    Class2 c2_2=new Class2();
    Console.WriteLine("====test start:====");
           
    for(int i=0;i<10;i++)
    c2_1.Add();
    Class2.Display(); Console.WriteLine("====================");
                 
    for(int i=0;i<10;i++)
    c2_2.Add();
     
    Console.WriteLine("===Display the value:===");
    Class2.Display();  
    Console.ReadLine(); }
    }
    class Class2
    {
    private static   int num ;
    public Class2()
    {
    num=5;
    }
    public void Add()
    {
      Console.WriteLine( ++num);
    }
    public static void Display()
    {
    Console.WriteLine(num);
    }
    }
    }