Kotlin中的可见性修饰符是用于限制应用程序中的类,接口,方法和属性使用的关键字,可见性修饰符分为四种不同的类型: 公共,私有,受保护和内部,也就是public、protected、internal、private。
public 修饰符
注意
:
- 可以从项目的任何位置访问
public
修饰符。 - 它是Kotlin中的默认修饰符。
- public 可以省略。
public class Persion() {
public var name: String = "zhangsan"
public fun obtainName(): String {
return name
}
}
val a = 1
val b = 2
fun main(args: Array<String>) {
Persion()
a + b
}
protected 修饰符
protected虽然可以被外界看到,但外界却不能调用,只有自己及自己的子类可以调用(protected的属性和方法都可以被子类所继承和调用)。
class Persion() {
protected var name: String = "zhangsan"
fun obtainName(): String {
return name
}
}
fun main(args: Array<String>) {
Persion.name //错误,Persion类外无法获取
Persion().obtainName()
}
internal修饰符
internal 修饰类的方法,表示这个类方法只适合当前module使用,如果其他module使用的话,会找不到这个internal方法或者报错。
class Persion() {
internal var name: String = "zhangsan"
fun obtainName(): String {
return name
}
}
class studeng() {
fun test() {
Persion().name //同意moudle 可以获取
}
}
private修饰符
private是完全私有的,只有在类自己里面可以调用,在类的外部和子类都不能调用,子类也不能继承父类的private的属性和方法。
class Persion() {
private var name: String = "zhangsan"
fun obtainName(): String {
return name
}
}
fun main(args: Array<String>) {
Persion().name //错误,Persion类外无法获取
}