父类对象调用子类对象,只会调用父类存在的属性及方法。
比如:
public class People{
public void speak(){
System.out.println("People is speaking!");
}
}
public class Girl{
public void speak(){
System.out.println("Girl is speaking!");
}
}
public class Boy{
public void speak(){
System.out.println("Boy is speaking!");
}
}
public class running{
public static void main(String[] args){
Girl gilr = new Girl()
Boy boy = new Boy()
talk(girl)
talk(boy)
}
public void talk(People p){
p.speak()
}
}
// 可以看到输出是:
// Girl is speaking!
// Boy is speaking!
// 而不是 People is speaking!
所以这就是多态,极其方便 |