Java-программы
Java-программа — это набор из одного или нескольких классов, причем один из них содержит точку начала выполнения программы. Файл исходного кода Java может содержать более чем одно определение класса. В соответствии с требованиями Java 2 SDK только один класс в файле исходного кода может иметь видимость public
. Имя файла исходного кода включает имя этого открытого класса с расширением .java
. Каждое описание класса в файле исходного кода компилируется в отдельный class-файл, содержащий байт-код Java. Имя этого файла состоит из имени класса с расширением .class
. Все программы должны быть скомпилированы до того, как они будут выполнены. Java 2 SDK предоставляет набор инструментов для этой цели, как разъясняется в примере Java-приложения.
Пример Java-приложения
Приложение — это то, что обычно называется программой: исходный код, который компилируется и непосредственно выполняется. Для создания приложения на Java программа должна иметь класс, который содержит метод с именем main
. Метод main ()
в классе служит стартовой точкой для выполнения любого приложения.
Основные элементы приложения на Java
Пример 1.4 — это пример приложения, в котором клиент использует класс CharStack
для оборачивания строки символов.
// Имя исходного файла: Client.java
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();
}
}
// Имя файла исходного кода: CharStack.java
public class CharStack {
// To же, что в примере 1.2.
}
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-приложения;
- компилирование и выполнение Java-приложения.