Метод – основной элемент структурирования хода. Все функции Java объявляются только внутри классов и называются методами. Простейшее определение метода имеет вид:
returnType methodName(список_параметров) {
// тело метода
return value; // если нужен возврат значения (returnType не void)
}
Если метод не возвращает значение, ключевое слово return может отсут-ствовать, тип возвращаемого значения в этом случае будет void. Вместо пустого списка параметров метода тип void не указывается, а только пустые скобки. Вызов методов осуществляется из объекта или класса (для статических методов):
objectName.methodName();
Для того чтобы создать метод, нужно внутри объявления класса написать объявление метода и затем реализовать его тело. Объявление метода как минимум должно содержать тип возвращаемого значения (возможен void) и имя метода. В приведенном ниже объявлении метода элементы, заключенные в квадратные скобки, являются необязательными.
Как и для полей класса, спецификатор доступа к методам может быть public, private, protected и по умолчанию. При этом методы суперкласса можно перегружать или переопределять в порожденном подклассе.
Конструкторы
Конструктор - это метод, который автоматически вызывается при создании объекта класса и выполняет действия по инициализации объекта. Конструктор имеет то же имя, что и класс; вызывается не по имени, а только вместе с ключевым словом new при создании экземпляра класса. Конструктор не возвращает значение, но может иметь параметры и быть перегружаемым.
package chapt03;
public class Quest {
private int id;
private String text;
// конструктор без параметров (по умолчанию)
public Quest() {
super();/* если класс будет объявлен без конструктора, то компилятор предоставит его именно в таком виде*/
}
// конструктор с параметрами
public Quest(int idc, String txt) {
super();
id = idc;
text = txt; }}
Ключевое слово this
Иногда будет требоваться, чтобы метод ссылался на вызвавший eгo объект. Чтобы это было возможно, в java определено ключевое слово this. Оно может использоваться внутри любого метода для ссылки на текущий объект. То есть this всеrда служит ссылкой на объект, для которого был вызван метод. Ключевое слово this можно использовать везде, где допускается ссылка на объект типа текущего класса.
Для пояснения рассмотрим следующую версию конструктора Вох ( ) :
// Избыточное применение ключевоrо слова this.
Вох(dоublе w, double h, double d) {
this. width w;
this.height h;
this. depth d;}
Эта версия конструктора Вох () действует точно так же, как предыдущая. Применение ключевorо слова thi s избыточно, но совершенно правильно. Внутри метода Вох () ключевое слово this всеrда будет ссылаться на вызывающий объект.