继承是面向对象的特性。
Kotlin 中的非抽象类,默认都是不可被继承的。
要让类可继承,在类前加上 open
关键字。
如之前的例子 Kotlin笔记7–类和对象_南国樗里疾的博客-CSDN博客
https://blog.csdn.net/weixin_44021334/article/details/117689273
已经创建了 Person 类,加上 open
关键字,让它可继承。
package com.cosmos.helloworld
open class Person {
var name = ""
var id = 0
fun work(){
println("$name is working. He's id is $id")
}
}
再新建一个 Student 类继承它。
Java 的继承用 extends
关键字。Kotlin 中用 : 类名()
的形式。
package com.cosmos.helloworld
class Student : Person(){
var sno = ""
var score = 0
fun study(){
println("$sno is studying")
}
}
在 main() 函数中检验一下,
fun main(){
var s = Student()
s.sno = "no1"
s.score = 95
s.study()
s.name = "Tom"
s.id = 20216
s.work()
}
运行结果,
no1 is studying
Tom is working. He's id is 20216
Student 类继承了 Person 类,并能使用 Person 类中定义的变量和方法。说明继承用对了。