Материал предоставлен https://it.rfei.ru

Java-программы

Java-программа — это набор из одного или нескольких классов, причем один из них содержит точку начала выполнения программы.

Файл исходного кода Java может содержать более чем одно определение класса, но в соответствии с требованиями Java 2 SDK только один класс в файле исходного кода может иметь видимость public. Имя файла исходного кода включает имя этого открытого класса с расширением .java.

Каждое описание класса в файле исходного кода компилируется в отдельный class-файл, содержащий байт-код Java. Имя этого файла состоит из имени класса с расширением .class. Все программы должны быть скомпилированы до того, как они будут выполнены. Java 2 SDK предоставляет набор инструментов для этой цели.

Для создания приложения на Java программа должна иметь класс, который содержит метод с именем main. Метод main() в классе служит стартовой точкой для выполнения любого приложения.

Точка начала выполнения

Пример 1.4 — это пример приложения, в котором клиент использует класс CharStack для оборачивания строки символов.

Пример 1.4. Приложение

public class Client {

  public static void main(String[] args) {
    // Создание стека
    CharStack stack = new CharStack(40);
    // Создание строки, помещаемой в стек
    String str = "!no tis ot nuf era skcatS";
    int length = str.length();
    System.out.println("Original string: " + str);
    // Помещаем строку посимвольно в стек
    for (int i = 0; i<length; i++) {
      stack.push(str.charAt(i));
    }
    System.out.print("Reversed string: ");
    // Выталкиваем символы из стека и выводим каждый из них на экран
    while (!stack.isEmpty()) {
      System.out.print(stack.pop());
    }
    System.out.println();
  }

}

Вывод программы:

Original string: !no tis ot nuf era skcatS
Reversed string: Stacks are fun to sit on!

Общедоступный (public) класс Client содержит метод с именем main. Для того чтобы запустить приложение, метод main() в этом общедоступном public-классе вызывается Java-интерпретатором, иначе называемым виртуальной машиной Java (JVM).

Метод main() следует объявлять, как показано ниже:

public static void main(String[] args) {
  // ...
}

Метод main() имеет доступ public, т.е. он доступен из любого класса. Ключевое слово static означает, что метод принадлежит классу (статический). Ключевое слово void означает, что метод не возвращает значений. Список параметров String[] args представляет массив строк, которые используются для передачи информации в метод main() в момент запуска.

Компилирование и выполнение приложения

Исходный файл Java может быть скомпилирован с использованием Java-компилятора javac, который является частью Java 2 SDK.

Исходный файл Client.java содержит описание класса Client. Исходный класс может быть скомпилирован, если в командной строке ввести следующее:

javac Client.java

В результате будет создан class-файл Client.class, содержащий байт-код Java для класса Client. Класс Client использует класс CharStack, и если файл CharStack.class еще не существует, то компилятор также скомпилирует файл исходного кода CharStack.java.

Скомпилированные классы могут быть выполнены Java-интерпретатором java, который также является частью Java 2 SDK. Пример 1.4 может быть выполнен, если в командной строке ввести следующее:

java Client

Обратите внимание, что задается только имя класса, результат — начало выполнения метода main() из определенного класса. Приложение в примере 1.4 завершится, когда завершится выполнение метода main().

Основные принципы JavaТест по теме «Введение в Java»