Если у нас есть класс:Kotlin: почему параметры конструктора имеют «внутреннюю» видимость по умолчанию?
class Customer(val customerName: String) { }
Ее параметр customerName
застройщик доступен через getCustomerName()
(потому что это также свойство). Если мы хотим ограничить доступ к этому свойству, мы должны объявить его как private
.
Поскольку во многих случаях из Java-мира (и если класс не предназначен для класса данных) поля, которые назначаются из параметров конструктора, предназначены для использования в частных/защищенных целях, это похоже на дополнительное усилие, чтобы явно объявить их private
в Котлине ,
Кроме того, классы Kotlin по умолчанию окончательные, так почему бы не следовать этому принципу для свойств? Я что-то упускаю?