美文网首页
6,向上转型和向下转型

6,向上转型和向下转型

作者: 旅程中 | 来源:发表于2018-10-08 16:25 被阅读0次

向上转型:
Animal animal = new Cat(); //向上转型
animal.eat();

    animal = new Dog();
    animal.eat();

将子类对象转换为父类对象,父类将调用子类重写后的方法(两个方法都会运行) :一般用于抽象类或者接口,(多态的表现)

<父类名> 自己设置的变量名=new <子类名>;此处父类对象可以是接口

向上转型时,子类单独定义的方法会丢失。比如上面Dog类中定义的run方法,当animal引用指向Dog类实例时是访问不到run方法的,animal.run()会报错。
子类引用不能指向父类对象。Cat c = (Cat)new Animal()这样是不行的。(会丢失子类独有的方法,父类没有的)
多态,节省代码(接口集合)的意义

向下转型
向下转型(为了获取子类丢失的方法,在泛型应用广泛)
可以看看这篇文章:https://blog.csdn.net/xyh269/article/details/52231944
animal是向上转型的对象,也可以是接口集合其中一个元素;
Thinkpad thinkpad = (Thinkpad)shopcar.getListItem(THINKPAD);
将父类对象强制转化子类对象 Dog dog=(Dog)animal

<子类名> 自己设置的变量名=(子类名)<父类名>;

减少代码量

相关文章

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

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

  • java多态(重要O!)

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

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

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

  • 多态

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

  • 向上转型和向下转型

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

  • 向上转型和向下转型

    向上转型:子类对象转为父类,父类可以是接口。公式:Father f = new Son(); Father是父类或...

  • C# 泛型委托的 逆变与协变

    先说两个引子 1,类型的向上转型和向下转型 Animal类型 转为 Dog 类型为向下转型,反之。 2,泛型的转型...

  • 向上转型&向下转型

    向上转型也称为隐式转型或者自动转型父类引用指向子类实例,可以调用子类重写父类的方法以及父类派生的方法,无法调用子类...

  • java向上转型和向下转型

    java对象的类型转换对于初学者来说很多时候是蒙的,例如当初开始学的我,#手动狗头。在整理以前学的笔记的时候看到了...

  • 12.对象的转型

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

网友评论

      本文标题:6,向上转型和向下转型

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