class Buffer
{
      private const int defaultBufferSize = 100;
      public Buffer(int bufferSize)
     {
            buf = new int[bufferSize];
      }
      public Buffer():this(defaultBufferSize)
     {
     }
      private int[] buf;
}我知道有继承,实现接口,泛型约束,不过这里面的:是干吗的??
public Buffer():this(defaultBufferSize)

解决方案 »

  1.   

    public Buffer():this(defaultBufferSize)
    ========================================
    相当于默认构造函数调用带参数的构造函数
      

  2.   

    是不是可以这么写
     public Buffer()
         { this.buffer(defaultBufferSize);
         }
      

  3.   

    这样写程序有点花式的感觉
    =======================
    不是的,比较以下两种写法,相对而言,后者肯定更好维护class Demo
    {
        int x;
        int y;
        public Demo()
        {
            x = 0;
            y = 0;
        }
        public Demo(int x)
        {
            this.x = x;
            y = 0;
        }
        public Demo(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
    }class Demo
    {
        int x;
        int y;
        public Demo():this(0,0)
        {
        }
        public Demo(int x):this(x,0)
        {
        }
        public Demo(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
    }
      

  4.   

    this.buffer(defaultBufferSize);
    ==============================
    构造函数是用来初始化对象的,不是明确调用的