我认为Thread对象就像是带有名称和静态Thread.CurrentThread()的抽象对象,就像访问Thread对象的方式一样.显然,这是错误的假设.
public class App {
static class TestedThread extends Thread {
public void run() {
// System.out.println(Thread.currentThread().getName()); // is ok
System.out.println(this.getName());// Why is there difference?
}
}
public static void main(String[] args) {
TestedThread base = new TestedThread();
// base.start();
Thread derived = new Thread(base);
derived.setName("derived");
derived.start();
}
}