Большинство веб-сайтов в Интернете говорят:
"используйте команду
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)