比如说在一个类中如果实现了runable的话,可以这么启动
public class MyThread implements Runnable{
       public void run() {}
}
Thread myThread = new MyThread();
myThread.start();如果是这样的话
public class MyThread extends AAAA implements Runnable{
       public void run() {}
}
要启动这个类的线程,改如何实现呢?

解决方案 »

  1.   

    new Thread(new MyThread ()).start();
      

  2.   

    建议去看下java.lang.Thread类的源码,尤其是构造子和run()方法
    你将会看到有一个构造子的参数被赋予了内部一个类型为Runnable的属性target
    而在run()方式调用的时候,会先判定target是否为空,若不为空,则执行target.run()所以,所有的线程都是Thread的实例,而不是Runnable,Runnable中只有run()而没有其他,想要start()必须将Runnable交给一个Thread有机会多阅读JDK的源码,你会知道更多
      

  3.   

    可以这样啊Thread th = new Thread(new MyThread());
    th.start();
      

  4.   

    抽象能力不行啊。已经在说Runnable了,还管它继承不继承什么父类干什么。Runnable就是Runnable。
      

  5.   

    实现了Runnable接口的类其中的run()方法只是一个执行体,实现了Runnable接口的类的对象只是作为一个target传入Thread(Runnable target).当执行线程时,线程对象还是继承了Thread的类的对象,但是它执行的线程体,也就是那个run()是target中的run().