public class CountOperate extends Thread{
public CountOperate(){
System.out.println("begin");
System.out.println("Thread.currentThread().getName()=" + Thread.currentThread().getName());
System.out.println("this.getName()=" + this.getName());
System.out.println("end");
}
@Override
public void run() {
System.out.println("run begin");
System.out.println("Thread.currentThread().getName()=" + Thread.currentThread().getName());
System.out.println("this.getName()=" + this.getName());
System.out.println("run end");
}
public static void main(String[] args) {
CountOperate countOperate = new CountOperate();
//在它初始化对象刚开始时,就会有this.getName 为 Thread-0 ,不是在run时才会产生名字
//countOperate.start();
}
}
在这段代码中,注释了countOperate.start() ,这时候只剩下了
CountOperate countOperate = new CountOperate(); 相当于只是创建是对象,但是在创建对象的时候,同时有了this.getName()的值 ,应该是因为 CountOperate 是Thread的子类
可以参考一下这篇文章,
https://blog.csdn.net/u012665227/article/details/50242655
可以从这张图片看出刚进入构造函数便有了name