java继承和多态举例

public class Test1 {

    public static void main(String[] args) {
        System.out.println(new Dog().name);//
        new Dog().jiao();//狗叫
        System.out.println(new Cat().name);//
        new Cat().jiao();//猫叫
        Animal d = new Dog();
        Animal c = new Cat();
        System.out.println(d.name);//动物
        System.out.println(c.name);//动物
        d.jiao();//狗叫
        c.jiao();//猫叫

    }

}
class Animal{
    String name = new String("动物");
    public void jiao(){
        System.out.println("动物叫");
    }
}
class Dog extends Animal{
    String name = "狗";
    public void jiao(){
        System.out.println("狗叫");
    }
}
class Cat extends Animal{
    String name ="猫";
    public void jiao(){
        System.out.println("猫叫");
    }
}

总结:

多态实现条件:1、继承 2、方法重写 3、父类申明子类对象

多态实现的机制:动态绑定机制。方法看对象,属性看声明

原文地址:https://www.cnblogs.com/CodingAndRiding/p/7440130.html