目录
1、Java中的继承
2、Kotlin中的继承
1、Java中的继承
- Java中的类只能继承一个父类,是无法实现继承多个父类,但是一个类可以实现多个接口。
- Java中的接口是无法给函数添加函数体的
abstract class TestFather {
public abstract void funA();
}
interface Test1 {
void funB();
}
interface Test2 {
void funC();
}
public class TestMain extends TestFather implements Test1,Test2{
@Override
public void funA() { }
@Override
public void funB() { }
@Override
public void funC() { }
}
2、Kotlin中的继承
- Kotlin中的接口是可以给函数实现函数体的
- Kotlin中的多继承也是通过接口来实现的,因为能给接口中的函数实现函数体,间接地相当于实现了多个父类的继承。
- 如果两个父类接口中有相同的函数,那么我们可以通过super<父接口1>的方式来继承指定父类的函数体
super<TestB>.commonFun()
interface TestA {
fun canPrint()
fun commonFun() {
println("我是TestA")
}
}
interface TestB {
fun canWrite()
fun commonFun() {
println("我是TestB")
}
}
class TestC : TestA, TestB {
override fun canPrint() {}
override fun canWrite() {}
override fun commonFun() {
super<TestB>.commonFun()
}
}
fun main() {
val testc=TestC()
testc.commonFun()
}
//输出结果
我是TestB
我是TestC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)