“java”命令是否编译 Java 程序?
互联网上的大多数网站都说:
“使用
javac
命令编译.java
文件。然后使用java
命令运行它”
但是今天我试图在没有java程序的情况下运行,我得到了一个奇怪的结果。javac
以下是名为: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)