public ArrayList() {
this(10);
    }
  这是ArrayList的一个构造函数,这个this是怎么回事啊
经常被一些this弄晕,望各位大侠们帮我搞定this

解决方案 »

  1.   

    this(10);代表你还有一个构造函数是public ArrayList(int n) {
     //
    }它就调的这个构造函数
      

  2.   

    this就是当前类本身,this(10)就是调用当前类的构造方法
      

  3.   

    this表示的就是类本身,this(10)表示调用你类中带一个参数的构造函数。
    如:public ArrayList(int a)
    但是在对于类变量,类方法(也就是static修饰的),不能使用this关键字。
      

  4.   

    你如果深入研究的话会发现,尤其是在DEBUG的时候,当遇到ArrayList类型的数据的时候,默认的ArrayList中的elementDate有10个,原因就是在this(10)这个地方设置了值
      

  5.   

    记忆中是:
    this 是一个指向自身的句柄. 用this加点操作符可以调用类的属性. this()调用自身构造函数
    super 是一个指向父类的句柄,super()调用父类的构造函数
      

  6.   

    ding!!!
    this指本身(本类);this()表示调用本类的一个构造方法!
      

  7.   

    呵呵 Java 中的 this 还好理解一些,因为是不可变的。JavaScript 中的 this 就复杂啦,可变对象!
      

  8.   

     java 中的this其实比较简单,就是只当前的对象嘛!
      

  9.   

    this是个参数!方法中的隐含参数!static方法中没有这个参数你可以认为我是瞎说!但绝对是这样!!
      

  10.   

     为什么static 就没有这个参数呢 !因为 static是类的成员不属于某个对象!