public class HelloWorld
{
public static void main (String [] args)
{
System. out. println (“Hello, world!”);
}
}
В этой программе есть 1 класс (то же, что тип – в дальнейшем будет употребляться слово ”класс”) под названим HelloWorld, а в этом классе есть одна функция – main. По правилам языка Java запустить можно лишь такую программу, у которой в одном из классов определена именно таким образом функция main с именно такими аргументами.
В теле этой функции написана инструкция, выводящая на экран сообщение “Hello, world!”.
System. out. println - это аналог writeln в Pascal.
String [] args в параметрах функции main означает, что ей передается массив строк под именем args.
Для того, чтобы можно было скомпилировать и запустить эту программу, ее исходный текст должен находиться в файле HelloWorld.java (в каждом файле содержится ровно один класс, который обязан называться так же, как и файл).
Для компиляции необходимо выполнить команду javac HelloWorld.java
В результате ее выполнения, если компиляция прошла без ошибок, создается файл HelloWorld.class, в котором находиться байт – код соответствующего класса.
Чтобы запустить программу, надо выполнить команду java HelloWorld [аргументы]
При этом среда выполнения Java попытается:
1. Найти в текущем каталоге файл HelloWorld.class.
2. Найти в содержащемся там классе HelloWorld функцию main, объявленную именно таким образом.
3. Выполнить ее.
Если указать аргументы командной строки, то они будут переданы в массив args в аргументах функции main.
Эта программа – не объектно-ориентированная, хоть и написана на Java. В самом деле, в ней не создается ни одного объекта.
В объектно – ориентированном подходе ”главным” считаются не действия программы, а объекты, которые их совершают. Попробуем применить это к программе №2. Назовем ее HelloWriter.
Модифицированная программа выглядит так:
HelloWriter.java:
public class HelloWriter
{
public void doIt ()
{
System. out. println (“Hello, world!”);
}
}
HelloWriter.java:
public class HelloWriterTest
{
public static void main (String [] args)
{
HelloWriter writer = new HelloWriter ();
writer.goIt();
}
}
Компиляция: javac HelloWriterTest.java
Запуск: java HelloWriterTest
HelloWriter writer = new HelloWriter (); - эта строчка создает новый экземпляр класса HelloWriter и инициализирует ссылкой на него переменную writer (здесь “=” - не присваивание, а инициализация).
В переменной writer записан не сам объект, а лишь ссылка (адрес) на область памяти, в которой находится объект.
writer.doIt(); - эта строка вызывает у объекта writer метод doIt (), который, собственно, и выполняет работу по выводу на экран сообщения “Hello, world!”.
Тема 1