interface MyStudent{
val name:String
val propertyWithImplementation:String
get() {
return "Tom"
}
fun helloWorld(){
print(name)
}
fun study()
fun run(){
print("run fast")
}
}
class Tom(override val name: String) :MyStudent{
override fun study() {
print(name + "不喜欢学习")
}
}
class John : MyStudent{
override val name: String
get() = "John"
override fun study() {
println(name + "喜欢学习")
}
}
interface Student:MyStudent{
override val name: String
get() = "新接口中定义的覆盖的名称"
}
interface A{
fun methodA()
fun methodB(){
println("这是接口A中的方法methodB")
}
}
interface B{
fun methodA(){
println("这是接口B中的方法methodA")
}
fun methodB(){
println("这是接口B中的方法methodB")
}
}
class C:A,B{
override fun methodA() {
super<B>.methodA()
super.methodA()
}
override fun methodB() {
super<A>.methodB()
super<B>.methodB()
}
}
val anna = object : Student {
override fun study() {
println(name + "学习很努力")
}
}