详细说明:https://blog.csdn.net/weixin_45112340/article/details/127047367
公开类:open
用于修饰公开类,表示该类可派生子类;或者用于修饰成员,表示该成员可以被重写。
在kotlin中它所有的类默认都是final的,那么就意味着不能被继承,而且在类中所有的方法也是默认是final的,那么就是kotlin的方法默认也不能被重写。
open的作用在于 让类和方法可以被继承和重写
Kotlin默认创建的Class类
class Person(val name: String) {
fun showName() = "姓名:$name"
}
反编译后
public final class Person {
@NotNull
private final String name;
@NotNull
public final String showName() {
return "姓名:" + this.name;
}
}
open 关键字修饰后
open class Person(val name: String) {
open fun showName() = "姓名:$name"
}
反编译后
public class Person {
@NotNull
private final String name;
@NotNull
public String showName() {
return "姓名:" + this.name;
}
}