}
这个不可以运行,因为while(true){}循环后还有语句。具体为什么我也不清楚。可能while(true)语句执行后,就没有后面语句的原因了吧,解决办法
MyThread myThread = new MyThread(); myThread.run();
放在while之前或者里面,结果都一样。
我是想学多线程的这是开始。
class Test002 { public static void main(String[] args) { MyThread myThread = new MyThread(); myThread.start(); //Thread类中start()方法用来调用下面的run();启动一个线程,所以下面必须是run(方法) while(true) { System.out.println("MAIN"); } } } class MyThread extends Thread { public void run() //重新Thread类中run(),并用start()调用 { while(true) { System.out.println("MyThread"); } } }
这个是可以,但是java中是单继承!所以用一个接口,实现接口不影响继承。
class Test002 { public static void main(String[] args) { MyThread myThread = new MyThread(); Thread thread = new Thread(myThread); thread.start(); while(true) { System.out.println("MAIN"); } } } class MyThread implements Runnable { public void run() { while(true) { System.out.println("MyThread"); } } }
Thread(Runnable target)构造方法。。既然是构造方法实现就需要实例化。
Runnable是一个接口。implements实现接口方法。就一个run()方法。用Thread(Runnable target)构造方法创建线程对象时,为run()实现;额Runnable接口的实例对象这里好难。既然是构造方法那就实例化同时构造它,构造的它中参数是个接口,要实现一个接口中的方法,就要implement是接口,然后构造这个接口中的方法。然后传入构造方法中的参数是个实例对象。。。