接口:接口就是暴露一种物体与另外一种物体沟通的方法
抽象类
abstract class Human(var name: String) {
abstract fun eat()
}
class Man(var manName: String) : Human(manName) {
override fun eat() {
println("男人大口大口的吃饭")
}
}
接口
interface IMan {
fun eat();
}
class Man1 : IMan {
override fun eat() {
println("男人大口大口的吃饭")
}
}
这么看接口和抽象类没什么区别,抽象类能干的接口也能做,唯一的不同继承抽象类是“: IMan()”,实现接口是“: IMan”,有无括号?其实不然
接口:接口是事物的能力
抽象类:是事物的本质
interface IMan {
fun eat();
}
interface IMan1 {
fun eat1();
}
interface IMan2 {
fun eat2();
}
class Man1 : IMan, IMan1, IMan2 {
override fun eat1() {
}
override fun eat2() {
}
override fun eat() {
}
}
一个类可以实现多个接口,但是只能继承一个类,这点和java一样。