kotlin中一个类如果想被继承,需要abstract或者open修饰
abstract class Man{
fun work(){}
}
open class Woman{
fun work(){}
}
class FiveA:Man()
class FiveB:Woman()
如果被abstract修饰的父类,他的方法想要被复写,该方法需要被open修饰或者abstract 修饰
abstract class SixMan{
open fun work(){}
abstract fun song()
}
class SixA:SixMan(){
override fun work() {
super.work()
}
override fun song() {
}
}
kotlin中默认的类都是final的,如果想要被继承,需要用open修饰
如果被open修饰的父类,他的方法想要被复写,该方法需要被open修饰
open class Man7{
fun work(){
}
open fun song(){
}
}
class Person7 :Man7(){
override fun song() {
super.song()
}
}
属性的复写:父类属性的复写需要override修饰
abstract class Person8(open val age: Int){
abstract fun work()
}
class MaNong(age: Int): Person8(age){
override val age: Int
get() = 0
override fun work() {
println("我是码农,我在写代码")
}
}
fun main(args: Array<String>) {
val person: Person8 = MaNong(23)
person.work()
}
网友评论