1. 同种功能,不行的表现
2. 通过父类接收 执行的是子类的方法
3. 代码如下:
fun main(args: Array<String>) {
val dog: Animal = Dog()
val cat: Animal = Cat()
dog.call()
cat.call()
}
abstract class Animal {
var color: String = ""
open fun call() {
println("动物叫")
}
}
/**
* 狗
*/
class Dog : Animal() {
override fun call() {
println("狗汪汪叫")
}
}
/**
* 猫
*/
class Cat : Animal() {
override fun call() {
println("猫喵喵叫")
}
}