美文网首页
Java 对象的转型

Java 对象的转型

作者: Sia_Coding | 来源:发表于2016-09-27 11:30 被阅读0次

是一个经常见到,却一直分不清“上、下”的晕晕的语法。
本文基于Mars老师的Java4Android视频。

对象的向上转型

将子类的对象赋值给父类的引用。“上”、“下”要怎么判断呢?我们认为越抽象,越靠上,越具体,越靠下,所以父类是在上面的。

Man m = new Man();
Person p = m;

或者是

Person p = new Man();

举个生活中的例子,这个 茶杯 是一个 杯子。

转型之后,如何使用p 对象呢?p 能使用Man 和Person中哪些方法呢?

  • 一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型。
    p 的类型是Person,因此它只能使用Person类中的成员
  • 一个引用调用的是哪一个方法,取决于这个引用所指向的对象。
    p 是Person类型,但p 指向Man对象。所以它调用的,其实是Man的成员。如果Man和Person中有同名的成员函数,p 调用的,将是Man中的那一个。

对象的向下转型

将父类的对象赋值给子类的引用

//向下转型的前提就是首先进行向上转型
Man m1 = new Man();
Person p = m1;

//括号里是强制类型转换
Man m2 = (Man)p;

为什么要先向上再向下,这不是瞎折腾吗?
--举个例子,就像我们在超市买泡面,厂商先装进袋子里,我们买回家再从袋子里拆出来一样,能不要包装直接买吗~~~

注意: 直接生成的父类的对象,是无法直接向下转型成子类的。就像男人,一定是人,而随便找一个人,却不一定是男人。没了向上转型那一步,就少了约束。

相关文章

  • 2018-05-04 Java向上转型和向下转型

    Java中,对象类型转换分为向上转型和向下转型两种 1. 向上转型 子类对象到父类对象的类型转换,通常由系统自动完...

  • Java 对象的转型

    是一个经常见到,却一直分不清“上、下”的晕晕的语法。本文基于Mars老师的Java4Android视频。 对象的向...

  • Java的上转型对象

    我发表了一篇新博文:Java的上转型对象我的博客地址:不如怀念

  • Java自学-泛型 泛型转型

    Java 中的子类泛型转型成父类泛型 步骤 1 : 对象转型 根据面向对象学习的知识,子类转父类 是一定可以成功的...

  • java对象转型和多态

    本文为学习笔记 能力有限 如有错误望指正。谢谢!!! 对象转型: 一个基类的引用可以指向其子类的对象,基类的引用不...

  • Java中的对象转型(多态)

    多态是指父类的同一行为在不同状态表现出不同的响应。 向上转型(upcasting):父类的引用指向子类的对象(隐性...

  • Java自学-接口与继承 对象转型

    Java中的对象转型 示例 1 : 明确引用类型与对象类型的概念 首先,明确引用类型与对象类型的概念在这个例子里,...

  • java向上转型

    java 之向上转型 当父类对象引用变量引用子类对象时,被引用对象的类型决定了调用谁的成员方法,引用变量类型决定可...

  • Java中对象的向上转型和向下转型

    对象的向上转型:就是将子类对象向上转换成为父类类型。 对象的向下转型:就是将已经向上转换成为父类型的对象,重新还原...

  • JAVA对象类型向上转型和向下转型

    1 向上转型: 假设有一个Fruit类,类中有一个show方法。 有一个Apple类继承自Fruit类,该类有自己...

网友评论

      本文标题:Java 对象的转型

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