this两种用法:
1) 相当于一个未明确的指针,指向调用它的对象
2) 构造方法中,它是代表当前类,总是直接指向另外一个构造方法,不会先调super()
代码:
package com.ocjp.extend;
public class LaoTzu extends Philosopher {
public static void main(String[] args) {
new LaoTzu();
new LaoTzu("Tigger");
}
//在构造器中调用this(),直接指向了另外一个构造器,不会先调super();
LaoTzu() { this("Pooh"); }
LaoTzu(String s) { super(s); }
}
class Philosopher {
Philosopher(String s) { System.out.print(s + " "); }
}
输出:
Pooh Tigger