Java 多态

多态就是父类引用指向子类对象
前提是子父类有继承的关系

    父类类型  变量名 = new 子类类型();
    变量名.方法名();


普通类实现多态
    class Fu {}
    class Zi extends Fu {}
    //类的多态使用
    Fu f = new Zi();

抽象类实现
    接口类和抽象类必须要重写方法之后才能实现多态
    abstract class Fu {
         public abstract void method();
         }

    class Zi extends Fu {
        public void method(){
              System.out.println(“重写父类抽象方法”);
        }
    }
    //类的多态使用
    Fu fu= new Zi();



接口类实现多态
    interface Fu {
             public abstract void method();
    }
    class Zi implements Fu {
             public void method(){
              System.out.println(“重写接口抽象方法”);
        }
    }
    //接口的多态使用
    Fu fu = new Zi();


多态的成员变量特点:
    编译时参考引用类型所属的类是否调用成员变量
    即调用时先调用父类,如果父类没有就会报错
多态的成员方法特点:
    编译时,参考引用类型所属类是否调用成员方法
    即调用时先调用父级的方法,如果父级有编译通过,如果腹肌没有编译报错
    但是调用后实现的是子类重写后的成员方法

原文地址:https://www.cnblogs.com/xiaozhang666/p/10411903.html