在下面的代码中,为什么我需要导入java.awt.Robot
,但我可以在不导入Runtime
的情况下使用java.lang.Runtime
?
package classes;
import java.awt.Robot;
public class RuntimeExecution {
public static void main(String[] args) {
try {
Runtime.getRuntime().exec("notepad");
Robot robot = new Robot();
robot.keyPress(65);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
答案 0 :(得分:4)
每个编译单元都隐式导入每个公共类型名称 在预定义的包
java.lang
中声明,就像声明一样import java.lang.*;
出现在每个编译单元的开头 任何包装声明后立即。 结果,所有人的名字 这些类型在每个编译单元中都以简单名称提供。
其中编译单元基本上是您的.java
源文件。
答案 1 :(得分:2)
为方便起见,Java编译器会自动为每个源文件导入两个完整的包: