разве в методе с void не должно быть return? И почему аргументом в методе был int age а не this.age?
Антон ФМ
8 уровень
почему нет return?
Архивный
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
29 марта 2020, 19:25
void методы не возвращают никакого значения, поэтому метод return не обязателен.
Очень редко можно встретить так:
таким образом просто выполняется прерывание работы void метода
this.age это обращение к переменной класса (полю класса).
Если мы в метод принимаем какой-то входной параметр, то это будет объявление новой локальной переменной, например int age, хотя название может быть любым, но как правило называют как и поле класса.
Эта новая локальная переменная, которая объявлена, затеняет переменную класса, поэтому, чтобы обратиться непосредственно к полю класса используем this.имяПоля для нестатических переменных, и ИмяКласса.имяПоля для статической переменной, например:
this.age
Cat.name (если в классе Кот есть статическое поле name)
если мы напишем просто age, то это будет обращение прежде всего к локальной переменной, если таковая есть с указанным именем +2
ГоффMaster
29 марта 2020, 19:23
В методе void не должно быть return. Вернее, он может быть, но не обязателен. Возвращение в вызывающий метод происходит, когда void-метод доработает до конца.
Если из него надо вернуться досрочно. то можно использовать return
+1