一.java中可见性修饰符
二.kotlin中可见性修饰符
kotlin存在四种可见性修饰符,默认是public。
- private
- protected
- internal
- public
1.private、protected、public是和java中的一样的。
不同的是java中默认是default修饰符(包可见),而kotlin存在internal修饰符(模块内部可见)。
2.kotlin可以直接在文件顶级声明方法、变量等。
比如:
package foo
fun baz() { ... }
class Bar { ... }
其中protected不能用来修饰在文件顶级声明的类、方法、变量等。
3.变量的get和set方法可以有不同的修饰符
// file name: example.kt
package foo
private fun foo() { ... } // visible inside example.kt
public var bar: Int = 5 // property is visible everywhere
private set // setter is visible only in example.kt
internal val baz = 6 // visible inside the same module
4.方法、变量的重写默认不改变可见性(跟随父类)
5.局部变量、方法、类不能使用可见性修饰符
6.构造方法默认是public修饰,可以使用可见性修饰符修饰constructor关键字来改变构造方法的可见性。
class C private constructor(a: Int) { ... }
网友评论