继承和多态
Java面向对象思想的两大巨头,继承和多态
效果:通过调用同一个方法,参数使用父类对象,可以输出不同的效果(父类方法及其子类方法)
关系及过程图
Client(也就是本文的TestPoly)调用Animal类对象的方法,发现可以调用其子类对象的方法。
代码实现
一个java文件定义三个类及其继承关系
一个类测试多态
Animal.java
public class Animal {
public void shout() {
System.out.println("动物叫");
}
}
class Dog extends Animal{
public void shout(){
System.out.println("汪汪汪");
}
public void seeDoor(){
System.out.println("看门");
}
}
class Cat extends Animal {
public void shout() {
System.out.println("喵喵喵");
}
}
TestPoly.java
public class TestPoly{
static void animalCry(Animal a){
a.shout();
}
public static void main(String[] args) {
animalCry(new Animal());
animalCry(new Dog());
animalCry(new Cat());
}
}