我刚开始学习Kotlin,并与受保护的访问修饰符混淆了,我的疑问是Kotlin中的私有访问和受保护的访问修饰符之间的确切区别是什么。我在Google上进行了搜索,但没有得到满意的答复。
答案 0 :(得分:1)
官方documentatin说:
private
表示仅在此类内部可见(包括其所有 成员);
protected
-与private
相同,并且在子类中也可见;
答案 1 :(得分:0)
答案 2 :(得分:0)
与大多数OOP语言一样,Kotlin中有多个修饰符:
public
-可以从项目中的任何位置访问类,函数或属性。
默认情况下,在Kotlin中,类,属性或函数是公共的
protected
-类,函数或属性只能由当前类的子类访问
private
-类,函数或属性只能在当前类中访问
internal
-可以从当前模块中的任何位置访问类,函数或属性
答案 3 :(得分:0)
检查this以获得详细说明。
如果您想了解受保护的概念,则需要对子类和继承有基本的了解。
具有受保护的访问说明符的变量或函数可以从子类中看到。但是私有将绑定类的范围。
考虑以下基本代码:
open class Outer {
private val a = 1 // visible only for instance of class Outer
protected open val b = 2 // visible for instance of Outer and another subclass which inherits Outer.
val d = 4 // public by default
protected class Nested {
public val e: Int = 5
}
}
public class Subclass : Outer() {
// a is not visible
// b, d are visible
// Nested and e are visible
override val b = 5 // 'b' is protected
}
注意:上面的代码来自文档。
答案 4 :(得分:0)
类和接口
对于在类内声明的成员:
私有意味着仅在此类内(包括其所有成员)可见;
受保护的-与私有+在子类中也可见;
内部-此模块中任何看到声明类的客户端都看到其内部成员;
公共-任何看到声明类的客户都会看到其公共成员。
答案 5 :(得分:0)
protected
的private
的项目在班级中可见protected
不适用)private
的