class NewThread1 extends Thread{
NewThread1(String name){
super(name); //this line replaced by 'new Thread(name);'
System.out.println("child Thread:"+this);
}
}
public class ThreadCreationExtend {
public static void main(String[] args) {
new NewThread1("Thread1");
new NewThread1("Thread2");
}
}
output:child Thread:Thread[Thread1,5,main]
child Thread:Thread[Thread2,5,main]
output after replacement:
child Thread:Thread[Thread-0,5,main]
child Thread:Thread[Thread-1,5,main]
Run Code Online (Sandbox Code Playgroud)
我正在尝试调用Thread类构造函数,Thread(String name)而不是使用super(name),但是当我使用新的Thread(String name)输出时会有所不同.请解释不同的输出.是因为默认的超级构造函数吗?如果是这样,那我如何使用没有super()的父构造函数Thread(String name)?