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

Вызовы методов

Объекты взаимодействуют путем передачи сообщений. Это значит, что объект может быть сконструирован так, чтобы демонстрировать определенное поведение как результат вызова соответствующей операции объекта. В Java это выполняется путем вызова метода объекта при помощи бинарного встроенного оператора точка .. Вызов метода расшифровывает полное сообщение: объект-получатель сообщения, вызываемый метод и аргументы метода, если необходимо. Вызываемый метод получателя может также вернуть информацию отправителю через возвращаемое значение. Вызываемый метод должен быть одним из методов, определенных для объекта.

// Создание стека
CharStack stack = new CharStack(10);
stack.push('J');      // (1) Символ 'J' помещается в стек
char с = stack.pop(); // (2) Достаем и возвращаем символ 'J'
stack. printStackElements(); // (3)
// Ошибка компиляции: нет такого метода в `CharStack`

Вышеприведенный фрагмент кода вызывает методы объекта, обозначенного ссылочной переменной stack. Вызов метода в строке (1) помещает один символ в стек, а метод в строке (2) достает один символ из стека. Оба метода, push() и pop(), определены в классе CharStack. Метод push() не возвращает никакого значения, а метод pop() возвращает изъятый символ. Попытка вызова метода printStackElements() объекта стека приводит к ошибке компиляции, так как в классе CharStack такой метод не определен.

Оператор точка . также может использоваться со ссылкой для доступа к полям объекта. Использование обозначения точки регулируется доступностью членов. Так, поля класса CharStack имеют уровень доступа private, который показывает, что они недоступны извне класса.

stack.topOfStack++;	// Ошибка компиляции, т.к.
// topOfStack — это private-поле
Объектные ссылкиСтатические члены