为什么一个线程类实现了Runnable 接口之后,就不可以将其实例化给一个Thread对象呢?
例如:class TestThread extends Thread{}
    Thread tt = new TestThread();//这样是可以的class TestThread implements Runnable{}
Thread tt = new TestThread();//这样就不可以了?

解决方案 »

  1.   

    实现了Runnable之后就没有start()方法了吗?
      

  2.   

    Runnable接口内部不就是一个run()方法吗?
    在代码中我实现了(没写出来),这不是问题所在把;
      

  3.   

    同样有start方法啊。如果一个类已经是其他类的子类了,这时就必须用Runnable来实现了。如:
    class A implements Runnable{
    }
    用的时候就需要先创建A的应用,然后在用thread创建应用:
    A a = new A();
    Thread b = new Thread(a);
    然后用b.start();就可以用线程了
    我只是写出我知道的,可能会有不得当处,望高手指正,谢谢!
      

  4.   

    Runnable接口中没有start()方法的;
    好像楼上说的还不是问题所在呢;
      

  5.   

    子类可以指向父类的引用,而class TestThread implements Runnable{} 
    Thread tt = new TestThread();
    TestThread和Thread 没有继承关系
      

  6.   

    子类可以指向父类的引用,而class TestThread implements Runnable{} 
    Thread tt = new TestThread();
    TestThread和Thread 没有继承关系
      

  7.   

    class TestThread implements Runnable {}
    TestThread tt = new TestThread();
    new Thread(tt).start();
      

  8.   

    自己好好看看API帮助文档去吧
      

  9.   

    class TestThread implements Runnable{}
    TestThread tt = new TestThread();
    new Thread(tt).start();
      

  10.   

    创建线程有两个形式1'实现Runnable接口2.定义Thread的子类,然后创建该类对象
    class TestThread extends Thread{} 
        Thread tt = new TestThread();//这样是可以的 
    ========================
    正好符合 形式 2------------------------------------------------------
    class TestThread implements Runnable{} 
    Thread tt = new TestThread();//这样就不可以了? =====================已经创建线程了,那么他的对象的实例化应该是:class TestThread implements Runnable{} 
    TestThread tt = new TestThread();//这样就不可以了?
      

  11.   

    请仔细看:
    class TestThread implements Runnable{
         public void run() {     }
    } 如果是实现了Runnable接口的话是这样new一个线程的: Thead thread = new Thread(new TestThread());
    也就是说TestThread的一个对象是Thread类的一个参数,Thread(new TestThread())是Thread类重载的一个构造方法,
    它的参数类型便是实现了Runnable接口的一个类对象, 启动这个线程用thread.start(),所以说还是调用的Thread类的start()方法,实现了Runnable接口的类没有start()方法,只有run方法,明白了吧?