互联网上的大多数网站都说:
“使用
javac命令编译.java文件。然后使用java命令运行它”
但是今天我试图在没有Java的情况下运行Java程序,但javac结果却很奇怪。
以下是名为的文件的内容hello.java:
public class Myclass {
public static void main(String[] args){
System.out.println("hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我跑了:
$ javac hello.java
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
^
1 error
Run Code Online (Sandbox Code Playgroud)
但是,当我不使用javac命令运行它时,它执行时没有任何错误。
$ java hello.java
hello world
Run Code Online (Sandbox Code Playgroud)
该java命令还会编译程序吗?如果是,为什么我们需要该javac命令?
我的Java版本是:
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM …Run Code Online (Sandbox Code Playgroud)