可见性
Kotlin的可见性按照以下的方式被映射到Java中:
- private成员被编译成private成员
- private的顶层级别的声明被编译成包级的申明
- protected保持protected(需要注意的是Java允许访问同一包下的其他类的protected的成员,但是Kotlin不允许,因此Java类将扩宽代码的访问权限)
- internal声明变成Java中的public,internal类的成员通过名字重整,让它更难的从Java中使用,并且允许使用相同的签名重载成员,并且根据Kotlin的规则不会看到
- public保留为public