小编Ayu*_*h N的帖子

显式调用父构造函数时java中的super()行为

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)?

java multithreading super

2
推荐指数
1
解决办法
316
查看次数

标签 统计

java ×1

multithreading ×1

super ×1