Runnable接口和Thread类未导入。为什么呢?

时间:2016-08-07 11:56:06

标签: java

我从Oracle的Java教程中学习了并发性,并在本地机器中尝试了以下两个示例 -

public class HelloRunnable implements Runnable {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new Thread(new HelloRunnable())).start();
    }

}

public class HelloThread extends Thread {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new HelloThread()).start();
    }

}

这些例子很有效。现在,请原谅我这个问题看起来很奇怪,因为我是Java编程的新手,但为什么不是Runnable接口,在第一个例子中,而Thread类在这两个例子中都是导入的?

提前致谢!

2 个答案:

答案 0 :(得分:1)

正如其他人所说,java.lang包中的类和接口不需要导入。它们默认导入。

您可以查看本网站的一些示例。没有导入任何java.lang类:

java.lang examples

但是请注意,必须导入子包中的类/接口(检查该页面上的反射示例)。

答案 1 :(得分:0)

Runnable和Thread属于java.lang包。此包中的接口和类是隐式的。它们不需要进口。