互联网上的大多数网站都表示:
“使用
javac
命令编译一个.java
文件。然后使用java
命令运行它”
但是今天我尝试运行一个没有 javac
的 java 程序,我得到了一个奇怪的结果。
下面是一个名为 hello.java
的文件的内容:
public class Myclass {
public static void main(String[] args){
System.out.println("hello world");
}
}
然后我跑过去:
$ javac hello.java
这就给了我一个错误:
hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
^
1 error
但是当我不使用 javac
命令运行它时,它的执行没有任何错误。
$ java hello.java
hello world
java
命令是否也编译程序? 如果是,为什么我们需要 javac
命令?
我的 java 版本是:
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM (build 12.0.2+10, mixed mode)