Класс в Java может содержать два типа элементов: компоненты-данные (поля) и компоненты-функции (методы). Поля - это объекты любого типа, с которыми можно взаимодействовать через ссылку, либо объекты базового типа. При этом ссылка инициализируется присоединением к реальному объекту (используя new), в конструкторе. Объекты базового типа могут инициализироваться при определении в классе.
Ниже приведен пример класса с некоторыми полями:
class Data
{ int god;
byte dn, ms;
}
Для данного класса можно создать объект (выделить место в памяти для его компонент).
Data dt = new Data();
При обращении к полям созданного объекта, как и в С++, префиксом является имя объекта. Например:
d.god = 2008;
d.dn = 3;
d.ms = 10;
Как отмечалось ранее, полем объекта может быть ссылка на другой объект, содержащий поля.
class Week
{ char day;
}
class Data
{ int god;
byte dn, ms;
Week wd;
} Data dt = new Data();
Для доступа к полю day, объекта dt используются «соединяющие точки»:
dt.wd.day = 10;
Класс Data предназначен только для хранения данных, в нем не имеется методов, работающих с его полями.
Методы в Java определяют сообщения, которые объекты могут принимать и могут описываться только как компоненты класса.
Общая структура метода имеет следующий вид:
Type methodName( список аргументов )
{ // Тело метода
}
Type - это тип возвращаемого методом значения. Список аргументов описывает типы и имена, передаваемые в метод.
Обращение к методу объекта осуществляется, так же как к его полю − через префикс. Вызов метода часто называется посылкой сообщения объекту.