Компилирует ли команда java Java-программы?

Немного менее подробный способ объявления названных перечислений:

object WeekDay extends Enumeration("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") {
  type WeekDay = Value
  val Sun, Mon, Tue, Wed, Thu, Fri, Sat = Value
}

WeekDay.valueOf("Wed") // returns Some(Wed)
WeekDay.Fri.toString   // returns Fri

Конечно, проблема в том, что вам нужно будет сохранить порядок имен и валов в синхронизации, что проще сделать, если имя и val объявлены в одной строке.

118
задан LogicalBranch 26 September 2019 в 17:38
поделиться

2 ответа

Эта функция обеспечивает способность выполнить Java однофайловый исходный код непосредственно без любой компиляции, избегая утомительных шагов, которые включили ранее для выполнения просто простого привет мировая программа.

Java 11+ Launch Single-File Source-Code Programs 

, Почему Вам нужно это, Если Вы вспоминаете былые времена незадолго до Java SE 11 (JDK 11), скажите, что у Вас есть исходный файл HelloUniverse.java, который содержит определение класса и статический основной метод, который распечатывает как одна строка текста к терминалу как следующее:

public class HelloUniverse{
      public static void main(String[] args) { 
            System.out.println("Hello InfoQ Universe");
      }
}

Обычно для выполнения этого класса, во-первых, необходимо было бы скомпилировать его с помощью компилятора Java (javac), который приведет к файлу HelloUniverse.class:

$ javac HelloUniverse.java
Then you would use a java virtual machine (interpreter) command to run the resulting class file:

$ java HelloUniverse
Hello InfoQ Universe

Это запускает JVM, загружает класс и выполняет код.

, Но что, если Вы хотите быстро протестировать часть кода и хотеть экспериментировать. Те два шага в процессе могут походить на небольшое количество тяжелого подъема. В Java SE 11, Вы получаете опцию запустить единственный файл исходного кода непосредственно без промежуточной компиляции.

1
ответ дан 5 October 2019 в 23:31
поделиться

Для ответа, почему эта ошибка дана имя класса для файла должно соответствовать файлу basename.

, у Вас есть две опции иметь эту работу кода для традиционного javac; java последовательность:

  1. Переименовывают класс к public class Hello, или

  2. Переименовывают hello.java к myclass.java.

java интерпретатор для Java 11 не налагает это требование. Класс, который содержит main, может иметь любое имя, пока это - первый класс в файле. Это было главным образом предназначено, чтобы упростить процесс обучения для новичков и позволить "сценарии Java" с хижиной ( касательно ).

6
ответ дан 23 November 2019 в 23:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: