default 情况下:
等同于 final,需要声明 open 才可扩展,这是和 Java 相反的扩展约束策略
等同于 public 访问级别,和 Java 默认的包可见不同
正因为此,Kotlin 中 final 和 public 无需显示声明
protected 是类可见外加子类可见,而 Java 则是包可见外加子类可见
private 修饰的内部类成员无法被外部类访问,和 Java 不同
internal 修饰符是模块可见,和 Java 默认的包可见有相似之处,也有区别
public 是 所有都可以 类 与 类实例
protected 只有 类 与子类 可见 自身与子类实例无法访问
private 只有类自身可见 子类 不可见 自身与子类实例无法访问
open 可以被重写


本文探讨了Kotlin与Java在扩展性、访问控制上的差异。Kotlin的default等同于Java的final,需显式open才能扩展。公共访问级别默认为public,与Java的包可见不同。Kotlin的protected仅类和子类可见,private限制更严,内部类成员对外部类不可见。此外,Kotlin特有的internal修饰符提供了模块级别的可见性。
2万+

被折叠的 条评论
为什么被折叠?



