一、kotlin中open关键字出现的背景
在java中允许创建任意的子类并重写方法任意的方法,除非显示的使用了final关键字进行标注。
而在kotlin的世界里面则不是这样,在kotlin中它所有的类默认都是final的,那么就意味着不能被继承,而且在类中所有的方法也是默认是final的,那么就是kotlin的方法默认也不能被重写。那么想在kotlin中继承父类应该怎么做呢?
二、open关键字的用法
1、为类增加open,class就可以被继承了
open class Person{
}
2、为方法增加open,那么方法就可以被重写了
open class Person{
open fun eat(food: String) {
}
}
open class Man:Person(){
override fun eat(food: String) {
super.eat(food)
}
}