-6

我们的主类中有一个默认线程,但为什么我们在主类中不扩展线程类。是以某种方式包含 Thread 类的原因。

这就是我的意思,这是主要课程:

public class Test{

    public static void main(String[] args) {

        Thread.currentThread().getName();

    }

}

我们使用默认线程,但是为什么一开始我们没有像这样扩展线程类?

public class Test extends Thread {

     public static void main(String[] args) {

        Thread.currentThread().getName();

    }
}
4

3 回答 3

4

你有点困惑。所有代码都在某个线程中运行,但定义此代码的类不需要扩展 Thread。如果不是这样,所有类都必须扩展 Thread 或者您不能调用它们的任何方法。

看下面的类比:

public class Test {
    public static void main(String[] args) {
         System.err.println("foo");
    }
}

现在问问自己,为什么 Test 不扩展 System,但它使用 System 中的字段和方法。如果你知道这一点,那么你也可以回答你原来的问题。

于 2013-08-10T16:17:07.870 回答
2

无论是 life 还是 java ,使用一个东西你都不需要属于同一个层次。

于 2013-08-10T16:30:08.320 回答
1

我永远不会有一个类 extend Thread。您不会添加任何新行为。

最好实现Runnable该类并将其提供给 aThreadExecutor为您执行它。

于 2013-08-10T16:16:49.060 回答