В kotlin вы обычно не увидите функций типа getX
, как вы обычно пишете в Java. Вместо этого к свойствам могут быть напрямую прикреплены пользовательские геттеры. Например, вы можете изменить объявление свойства price
на:
val price: Int get() {
println("Got price!")
return 1000000
}
Итак, вызывая w.price
, вы вызываете Kotlin эквивалент getPrice()
, который сам по себе является Java метод в фоновом режиме; как таковой, он может действительно что-то вычислять (в данном случае он печатает «Получил цену!»), поэтому само по себе это допустимое выражение.