В статье «От Hello World к объектно-ориентированному» в Базовом руководстве по Java у нас есть предварительное представление об объектах. Члены данных в объекте представляют состояние объекта. Объекты могут выполнять методы, представляющие определенные действия.
Кроме того, мы также узнали о занятиях. Объекты одного класса принадлежат к одному и тому же типу. Мы можем определить классы и использовать это определение для создания объектов.
Давайте углубимся в объекты. Узнайте некоторые подробности о методах и элементах данных в Java.
Вызов членов данных одного и того же объекта
Методы могут вызывать элементы данных объекта. Например, ниже мы добавляем метод getHeight() в класс Human. Этот метод возвращает значение элемента данных высоты:
Скопируйте код кода следующим образом:
тест публичного класса
{
public static void main(String[] args)
{
Человек aPerson = новый Человек();
System.out.println(aPerson.getHeight());
}
}
классЧеловеческий
{/**
*аксессуар
*/
int getHeight()
{
вернуть this.height;
}
высота интервала;
}
Мы добавили метод getHeight. Этот метод имеет возвращаемое значение типа int. Return используется в Java для возврата значения.
Обратите внимание на это: оно используется для ссылки на сам объект. Когда мы создаем экземпляр aPerson, он представляет объект aPerson. this.height относится к высоте человека.
это неявный аргумент. Когда вызывается метод, даже если список параметров метода не включает его, Java «тихо» передаст этот параметр методу.
(Есть специальные методы, которые не передают это неявно, мы увидим это позже)
это не обязательно, описанный выше метод можно записать так:
Скопируйте код кода следующим образом:
/**
*аксессуар
*/
int getHeight()
{
высота возврата;
}
Java сама определит, что высота является элементом данных в классе. Но при использовании этого будет понятнее.
Мы также видели метод /** comment */ для добавления комментариев.
список параметров метода
Определения методов в Java аналогичны функциям в языке C. Методы Java также могут получать список аргументов (список аргументов) в круглых скобках после имени метода. Далее мы определяем метод GroheHeight(). Функция этого метода — увеличение роста человека:
Скопируйте код кода следующим образом:
тест публичного класса
{
public static void main(String[] args)
{
Человек aPerson = новый Человек();
System.out.println(aPerson.getHeight());
aPerson.growHeight(10);
System.out.println(aPerson.getHeight());
}
}
классЧеловеческий
{
/**
*аксессуар
*/
int getHeight()
{
вернуть this.height;
}
/**
* передать аргумент
*/
недействительный ростВысота (интервал ч)
{
this.height = this.height + h;
}
высота интервала;
}
В GroveHeight() h — передаваемый параметр. В определении класса указывается тип параметра (int). Внутри определенного метода мы можем использовать этот параметр. Этот параметр действителен только в рамках этого метода, то есть GroveHeight().
При вызове мы передаем 10 в функцию GroheHeight(). aРост человека увеличен на 10.
Вызов других методов того же объекта
Внутри метода могут быть вызваны другие методы того же объекта. При вызове используйте форму this.method(). Мы также помним, что это относится к объекту. Итак, this.method() относится к методу метода() самого объекта.
Например, следующая функция повторения дыхания():
Скопируйте код кода следующим образом:
тест публичного класса
{
public static void main(String[] args)
{
Человек aPerson = новый Человек();
aPerson.repeatBreath(10);
}
}
классЧеловеческий
{
пустое дыхание()
{
System.out.println("ху...ху...");
}
/**
* вызвать дыхание()
*/
void повторениеBreath (int Rep)
{
интервал я;
for(i = 0; я <rep; я++) {
это.дыхание();
}
}
высота интервала;
}
Чтобы облегчить цикл, в методе restartBreath() мы объявляем объект i типа int. Область действия i ограничена областью действия метода повторного дыхания().
(Это похоже на автоматические переменные в функциях языка C)
Инициализация членов данных
В Java существует множество способов инициализации элементов данных. Например, в приведенном выше примере getHeight(), хотя мы никогда не указываем значение высоты, Java выбирает для нас начальное значение по умолчанию, равное 0.
Начальные значения по умолчанию для членов данных базовых типов:
1. Числовой тип: 0
2. Логическое значение: ложь
3. Другие типы: ноль
Мы можем предоставить начальное значение элемента данных при его объявлении. Это называется явной инициализацией. Значение инициализации дисплея необходимо жестко прописать в программе:
Скопируйте код кода следующим образом:
тест публичного класса
{
public static void main(String[] args)
{
Человек aPerson = новый Человек();
System.out.println(aPerson.getHeight());
}
}
классЧеловеческий
{/**
*аксессуар
*/
int getHeight()
{
вернуть this.height;
}
высота интервала = 175;
}
Здесь начальное значение высоты элемента данных равно 175, а не 0 по умолчанию.
Существуют и другие способы инициализации объектов в Java, о которых я расскажу позже.
Подвести итог
возвращаться
это, это.поле, этот.метод()
Начальное значение по умолчанию, явная инициализация