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    房廷飞        期望明天更好的自己!

 

posted @ 2019-03-13 22:54  codeFlyer  阅读(2255)  评论(0)    收藏  举报