美文网首页
向上转型

向上转型

作者: Vincent_Jiang | 来源:发表于2017-05-07 19:18 被阅读9次

父类 Bird

public class Bird {
    public void move(){
        System.out.println("this is bird class move method ... ");
    }
}

子类 Goose

public class Goose extends Bird {
    @Override
    public void move() {
        System.out.println("this is Goose class move method ... ");
    }
}

子类 Penguin

public class Penguin extends Bird {
    @Override
    public void move() {
        System.out.println("this is Penguin class move method ... ");
    }
}

调用类,参数类型为 Bird

public class BirdController {
    public void reLocate(Bird bird) {
        bird.move();
    }
}

测试

public class Test {
    public static void main(String[] args) {
        /**
         * 虽然 BirdController 中的 reLocate 方法的参数声明的是必须传入一个 Bird 类型的对象。
         * 但是其 Bird 类的两个子类 Goose 和 Penguin 依然也可以传入到该方法中,并正确运行。
         * 面向对象程序语言中使用了 "后期绑定" 这一概念。
         * 即在程序运行时,才能知道被调用方法的代码在计算机中的地址。
         * 与此同时,进行参数和返回值的类型检查。
         * 这种概念也成为 "动态绑定"。
         * 在 Java 中,动态绑定是自动执行的。不需要人工干预。
         * 如 C++ 中,需要借助 "virtual" 关键字来达到同样的目的。
         */
        BirdController controller = new BirdController();

        Bird bird = new Bird();
        Goose goose = new Goose();
        Penguin penguin = new Penguin();

        /**
         * "goose"、"penguin" 均为 Bird 的子类对象,但是却可以自动向上转型为 Bird 对象。
         */
        controller.reLocate(bird);
        controller.reLocate(goose);
        controller.reLocate(penguin);
    }
}

相关文章

  • 12.多态中的向上转型和向下转型

    多态中向上转型与向下转型 多态的转型分为向上转型与向下转型两种: A:向上转型:当有子类对象赋值给一个父类引用时,...

  • JAVA:向上转型和动态绑定机制

    知识梳理 1.向上转型的概念:向上转型又叫自动转型、隐式转型.向上转型就是父类引用指向子类实例,也就是子类的对象可...

  • 12.对象的转型

    1.向上转型 2.向下转型 什么是向上转型? 向上转型------将子类的对象赋值给父类的引用 Student s...

  • day03

    复用类 7.7向上转型 由导出类转型成基类,在继承图上是向上移动的,因此一般称为向上转型. 由于向上转型是从一个较...

  • 多态

    Java语言中的向上转型和向下转型, 1向上转型 (upcasting)子———>父 自动类型转换 2 ...

  • 6,向上转型和向下转型

    向上转型:Animal animal = new Cat(); //向上转型animal.eat(); 将子类对象...

  • 向上转型和向下转型

    1. 向上转型:父类的对象名 真正指向了 子类的实体 叫做 向上转型。所以向上转型必须在继承关系中才成立。...

  • JavaSE之多态

    转型:向上转型(上溯造型)、向下转型(下溯造型) 向上转型:父类引用指向子类对象。 父类的引用 = 子类的对象(也...

  • java多态(重要O!)

    一、多态的语法 关于java语言中的向上转型和向下转型 1、向上转型(upcasting):子 -->父 2、向下...

  • 向上转型

    向上转型特点: 对变量的影响:转型后的对象,可以使用继承自父类的变量,而且变量值是父类变量的值。不可以使用子类新增...

网友评论

      本文标题:向上转型

      本文链接:https://www.haomeiwen.com/subject/jwqptxtx.html