- 不加任何修饰符
在初始化块中是可以访问的,在类内部和类外部都是无法访问的
class People(name: String) {
init {
println("name:$name")
}
override fun toString(): String {
// 提示语法错误
return "People(name:$name)"
}
}
- 加 var/val 修饰符
在初始化块中是可以访问的,在类内部和类外部都是可以访问的
class People2(var name: String) {
init {
println("name:$name")
}
override fun toString(): String {
return "People(name:$name)"
}
}
- 加 public/private/internal 修饰符,会报错,不支持此语法
// 提示语法错误
class People3(private name: String) {
init {
println("name:$name")
}
override fun toString(): String {
return "People(name:$name)"
}
}
- 同时添加 public/private/internal var/val 这两种修饰符
- 4.1 public var/val
和不加public,只加var/val是一样的。
在初始化块中是可以访问的,在类内部和类外部都是可以访问的
- 4.2 private var/val
在初始化块和类内部是可以访问的,在类外部是无法访问的
- 4.3 internal var/val 同 4.2
在初始化块和类内部是可以访问的,在类外部,在同一个module是可以访问的,在不同的module是不可以访问的
网友评论