多态的含义:
多态是同一个行为具有多个不同表现形式或形态的能力;
多态就是同一个接口,使用不同的实例而执行不同操作。
注意:多态是方法的多态,不是属性的多态(多态与属性无关)
2.多态的实现方式:
方式一:重写
方式二:接口
-
生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。
-
java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。具体可以看 java接口 这一章节的内容。
方式三:抽象类和抽象方法
3.父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
public class Polym {
public static void main(String[] args) {
Animal a=new Animal();
animalCry(a);
Dog d=new Dog();
animalCry(d);
Cat c=new Cat();
animalCry(c);
}
public static void animalCry(Animal a){ //关键
a.shout();
}
}
class Animal{
public void shout(){
System.out.println("大叫一声!");
}
}
class Dog extends Animal{
public void shout() {
System.out.println("汪汪汪!");
}
}
class Cat extends Animal{
public void shout() {
System.out.println("喵!");
}
}