类Thread
- Java code
public class Thread extends Object implements Runnable
构造方法:
- Java code
public Thread()public Thread(Runnable target)public Thread(Runnable target,String name)public Thread(String name)
类Thread既不是抽象类也不是接口,那么Java中,为什么只提供两种创建新执行线程有方法:一种方法是将类声明为 Thread 的子类,该子类应重写 Thread 类的 run 方法;另一种方法是声明实现 Runnable 接口的类,该类然后实现 run 方法。难道Thread类不能够直接通过new来创建对象??如:
- Java code
Thread thread = new Thread();
------解决方案--------------------
写一个子类继承Thread类,是为了重写里面的run()方法,也就是线程启动后真正执行的内容。
如果你直接Thread thread = new Thread();创建对象,语法上没有错的,但是run()方法是系统默认的,也不是你自己想定义的线程中的方法,那这个线程有什么意义呢?
------解决方案--------------------
- Java code
/** * If this thread was constructed using a separate * <code>Runnable</code> run object, then that * <code>Runnable</code> object's <code>run</code> method is called; * otherwise, this method does nothing and returns. * <p> * Subclasses of <code>Thread</code> should override this method. * * @see #start() * @see #stop() * @see #Thread(ThreadGroup, Runnable, String) */ public void run() { if (target != null) { target.run(); } }