У меня есть класс с геттером/сеттером:
class Person {
private var _age = 0
//getter
def age = _age
//setter
def age_=(value: Int): Unit = _age = value
}
Мы знаем, что можем вызвать метод setter следующим образом:
val p = new Person()
p.age= (2)
p age= 11
p.age= 8-4
Что интересно в этом случае, так это то, что подчеркивание (_
) в def age_=
может быть удалено при вызове метода.
Мой вопрос: для чего в этом случае используется подчеркивание?
Кто-то сказал мне, что он используется для разделения небуквенных символов в идентификаторе. Итак, я попробовал это:
var x_= = 20
x_= = 10
x= = 5 // I got error here
Почему я не могу убрать подчеркивание в этом случае?
Кроме того, если я попытался использовать подчеркивание более одного раза:
val x_=_x = 1
У меня тоже ошибка компиляции.
Есть ли правило об использовании подчеркивания и каков термин для этого использования подчеркивания?