Java多态的使用
多态指的是同一个方法调用,由于对象不同可能会有不同的行为。
多态的要点:
1. 多态是方法的多态,不是属性的多态(多态与属性无关)。
2. 多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。
3. 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
对象类型的转换:
向上可以自动转换类型,由子类转换成父类!
向下(由父类转换成子类)强制类型转换!以调用该对象特有的方法!
下面这个例子简单示例说明了多态的使用和对象类型的转换。
demo:
/**
* 测试多态
* @author 房廷飞
*
*/
public class TextPolym {
public static void main(String[] args) {
Animal a=new Animal();
animalCry(a);
Dog b=new Dog();
animalCry(b);
Animal b1=new Dog(); //向上可以自动转换类型,由子类转换成父类!
animalCry(b1);
Dog b2=(Dog)b1; //向下(由父类转换成子类)强制类型转换!以调用该对象特有的方法!
b2.seeDoor(); //调用该对象特有的方法
Animal c=new Cat();
animalCry(c);
}
static void animalCry(Animal a1) {
a1.shout();
}
}
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("喵喵喵");
}
}
2019-03-13 22:52:36 房廷飞 期望明天更好的自己!