Метод main в языках Java и Java 2 ME. Часть IV

Класс Telefon, который я приводил в качестве примера во второй части, имел один метод, с помощью которого якобы вычислялась площадь дисплея. Созданная спецификация класса Telefon может быть описана как угодно. Можно добавить методы, реагирующие на обработку событий с клавиатуры телефона и любые другие методы, которые вы сочтете нужными для описания класса Telefon. Таких, и подобных классов может быть любое количество. Каждый из классов принято хранить в своем отдельном файле с расширением *.java (например: Telefon.java).

Все методы находящиеся в классе Telefon, которые вы опишете для данного класса, обязаны производить определенные действия с объектом этого класса, иначе зачем тогда нужны все эти методы. Реализация методов как уже говорилось, происходит непосредственно в создаваемом классе. Но возникает вопрос, где и как, происходит вызов необходимых по ситуации методов или создание объектов используемого класса. В языке Java для этих целей существует метод main(), который подобно строительной площадке собирает на своей платформе по частям объекты и методы, строя при этом функциональность всей программы.

public class RunTelefon
{
public static void main( String[] args)
{
// Работа программы
}
}

Пока не обращайте внимания на ключевые слова public и static – о них чуть позже. Создав класс RunTelefon и определив в его теле метод main() мы теперь имеем возможность пользоваться классом Telefon и его не особо богатой функциональностью. Объединив эти два класса в один файл, либо записав каждый по отдельности, вы получите работоспособную программу. Класс Telefon содержит основные данные и методы, а класс RunTelefon берет на себя роль мотора. Внутри класса RunTelefon происходит создание объектов класса, в данном случае класса Telefon и вызовы соответствующих методов этого класса.

class Telefon
{
// переменные
int w, h, s;
// метод
void Area()
{
S = w*h;
}
}
class RunTelefon
{
public static void main (String args[])
{
/* создание объекта/ов класса Telefon и вызовы метода Area() */
}
}

Поскольку вы пока не умеете создавать объекты классов и вызывать методы, тело класса RunTelefon пустое. Прежде чем идти дальше, необходимо познакомиться с ключевыми словами public, private и protected, а так же научиться создавать конструкторы классов.

Закрытые и открытые члены классов

Ключевое слово public, объявленное перед методом main(), показывает на то, что метод main() считается открытым или как говорят в любом классе метод main() виден, и к нему можно обратиться. Ключевое слово public может назначаться не только методам, но и объектам класса, переменным, любым членам созданного класса. Все объявленные переменные с ключевым словом public, будут доступны всем другим существующим в программе классам, а это может иногда навредить программе. Например, у вас есть какие-то данные, которые не должны быть доступны другим классам, что тогда? Для этого в языке Java существует еще пара ключевых слов: private и protected, благодаря которым вы защищаете переменные или члены классов от общего доступа.

По умолчанию, если вы не используете никакие ключевые слова при объявлении объектов, методов или переменных, язык Java назначает всем членам класса спецификатор public. Метод main() всегда должен вызываться с ключевым словом public, чтобы для всех классов программы метод main() был доступен. Как только программа начнет работать, первым делом она ищет метод main() и постепенно, шаг за шагом, а точнее, строка за строкой, выполняет все предписанные действия в этом метод

Конструктор класса

Каждый класс обязан содержать конструктор. Конструктор – это тот же самый метод, но имеющий название класса. Конструктор позволяет инициализировать или создает объекты данного класса с заданными значениями. Каждый класс имеет конструктор, и если вы явно не записали строку кода (как в нашем случае Telefon()), Java автоматически создаст его за вас и такой конструктор носит название конструктора по умолчанию. Например, вот так будет выглядеть конструктор класса Telefon.

class Telefon
{
Telefon(); // конструктор
int w, h, s; // переменные
void Area(); // метод
}

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

class Telefon
{
// переменные
int w, h, s;

// конструктор класса
Telefon(int a, int b)
{
w = a;
h = b;
}

// метод вычисляющий площадь дисплея телефона
void Area()
{
s = w*h;
}
}

При создании объекта (об этом чуть позже), вы можете указать необходимые значения для параметров а и b, например: а = 70, b = 100. Эти заданные числа автоматически присвоятся переменным w и h при создании объекта класса Telefon. Тем самым произойдет инициализация объекта с необходимыми значениями.

Количество конструкторов в классе ограничивается только вашей фантазией и здравым смыслом. Например, можно создать два конструктора классу Telefon:

Telefon (int a, int b);
Telefon (char a, char b);

В этом случае при создании объекта по переданным параметрам конструктору класса, компилятор выберет сам необходимый конструктор и создаст заданный объект.

Содержание

Основы языка программирования Java. Часть I
Синтаксис и семантика языка Java. Часть II
Операторы языка Java. Часть III
Метод main в языках Java и Java 2 ME. Часть IV
Объекты классов в Java и Java 2 ME. Часть V
Условные и управляющие операторы Java. Часть VI
Циклы языка программирования Java. Часть VII
Массивы данных в Java и Java 2 ME. Часть VIII
Наследование в языке программирования Java. Часть IХ
Интерфейсы в Java и Java 2 ME. Часть Х
Пакеты в Java и Java 2 ME. Часть ХI