线程类不能直接调用方法,必须使用构造方法吗?下面两个例子运行有什么不同
1.public class DieThreadDemo { public static void main(String[] args) { Example example=new Example(); helloThread1 thread1=new helloThread1(example); thread1.start(); helloThread2 thread2=new helloThread2(example); thread2.start(); }}class helloThread1 extends Thread{ private Example example=null; public helloThread1(Example example){ this.example=example; } @Override public void run() { example.method1(); }}2.public class hello { public static void main(String[] args) { helloThread1 thread1=new helloThread1(); thread1.start(); helloThread2 thread2=new helloThread2(); thread2.start(); }}class helloThread1 extends Thread{ Example example=new Example(); public void run(){ example.method1(); }} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
java里面是new Thread().start(),就是都是先实例化类,在调用run()方法,然后再通过run()方法调用其他方法。
不同之处在于,第一种可以向子线程传值,而第二种不能传值,因为第二种线程的构造方法只有空的构造方法。 |
|
|
|
|