Параметры простого конструктора не становятся свойствами вашего класса. Это происходит только путем явного изготовления их var
или val
. Тем не менее, вы можете получить доступ к этим простым параметрам во всем, что связано с инициализацией, например:
class ConstWithArg(param1: String) {
init {
println(param1)
}
val field1 = param1.length
var field2 = param1.length
}
Если вам нужно получить доступ к параметру после построения, он должен стать свойством, сделав его val
. Если вы не хотите, чтобы кто-либо другой имел доступ к этому полю за пределами вашего класса, отметьте его как личное:
class ConstWithArg(private val param1: String) {
fun useProp(){
println(param1)
}
}