Java继承==〉重写==〉多态

Java继承==〉重写==〉多态,第1张

Java继承==〉重写==〉多态

有父子继承关系的类,子类重写了父类方法后,会产生多态效果。没有重写不存在多态。

由父类对象指向子类实例,调用子类方法产生多态。

  1. extends:继承;
  2. override:重写;
  3. instanceof:类型转换(引用类型)X instanceof Y;向下转换可以多态,升级转换会丢失方法。父类可以调用子类特有的方法。Father f = new Son();  ((Son) f).eat();
package oop.Demo05;

public class B {
    public void test(){
        System.out.println("B=>test() ");
    }
    public void run(){
        System.out.println("Father run. ");
    }

}

package oop.Demo05;

public class A extends B{
    @Override
    public void test() {
        System.out.println("A=>test() ");
    }

    @Override
    public void run() {
        System.out.println("Son run. ");
    }
    public void eat(){
        System.out.println("son eat. ");
    }
}

package oop;


import oop.Demo05.A;
import oop.Demo05.B;

public class Application {
    public static void main(String[] args) {
        A a =new A();
        //a.test();
        a.run();
        //a.eat();

        B b = new A();
        //b.test();
        b.run();
        //((A) b).eat();

        B c = (B) a;
        //c.test();
        c.run();
        //((A) c).eat();

        B d = new B();
        d.run();

        Object obj = new A();
        System.out.println(obj instanceof A);
        System.out.println(obj instanceof B);
        System.out.println(obj instanceof Object);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5677396.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存