向上转型 将子类对象当作父类对象     子类对象------>父类对象

先实例化子类

父类 父类对象 = 子类实例

package test2;
class Father{
    public void fun1(){
        System.out.println("A---------fun 1");

    }
    public void fun2(){
        this.fun1();;
    }
}
class Sun extends Father{
    public void fun1(){
        System.out.println("B---------fun 1");

    }
    public void fun3(){
        System.out.println("B---------fun 3");

    }
}

public class PolDemo02 {
    public static void main(String args[]){
        Sun b = new Sun();           //实例化子类 b
        Father a= b;                 //父类 父类对象= 子类
        a.fun1();                    //父类对象调用是险
    }                                //发生了向上转型,则一定调用的是被子类覆写的对象,同时 此时的a对象是无法调用fun3()的因为
                                     //此方法只在子类中,所以要调用fun3(),肯定要实例化子类,所以,可以将对象向下转型。
}

向下转型

将父类对象当做子类对象           子类  子类对象  =  (子类)父类实例。

package test2;
class Father{
    public void fun1(){
        System.out.println("A---------fun 1");

    }
    public void fun2(){
        this.fun1();;
    }
}
class Sun extends Father{
    public void fun1(){
        System.out.println("B---------fun 1");

    }
    public void fun3(){
        System.out.println("B---------fun 3");

    }
}

public class PolDemo02 {
    public static void main(String args[]){
        Father a = new Sun();        //此时 先由new 一个子对象,然后由A a =  new b()发生向上转型,  子类--------> 父类
        Sun b =  (Sun)a;             //  子类    子类对象  =  (子类)父类对象     父类---------->子类 此时发生了向下转型关系
        b.fun1();                    //父类类型调用fun1()此时 调用的方法是发生覆写过的
        b.fun2();                    //调用父类方法
        b.fun3();                    //调用子类自己定义的方法
    }
}

在进行对象的向下转型之间,必须先发生向上转型,

父类用其自己实例化自己的对象,但是他并不知道谁是自己的子类,,所以再发生向下转型时,需要先发生向上转型 ,及A a =  New B() ,将父类和子类之间建立关系。

java 多态 向上 向下转型的更多相关文章

  1. Java多态之向下转型

    目录 Java多态之向下转型 强制类型转换 instanceof Java多态之向下转型 往期回顾:我们学习了向上转型和动态绑定的概念,可以知道在继承关系中,将一个子类对象赋值给父类的引用变量,调用父 ...

  2. 重写 final关键字 多态调用子类特有的属性及行为(向上向下转型)

    1.override 重写:在继承中,子类与父类方法名相同,参数列表相同,的方法叫重写,与返回值有关;  主要应用于系统升级. 2.final 关键字: 可修饰:1.类-->被修饰后该类不能被继 ...

  3. Object类 任何类都是object类的子类 用object对象接收数组 object类的向上向下转型

    任何类都是object类的子类 用object对象接收数组 object类的向上向下转型

  4. java多态-向上转型和向下转型

    向上转型:符合“is a”,是安全的,子类向上到父类,多余的属性和方法会丢弃 向下转型:不安全的,用instanceof提前判断一下,以免抛出异常 instanceof用法: result = obj ...

  5. java基础值向上向下转型

    1.父类引用可以指向子类对象,子类引用不能指向父类对象. 2.向上转型:子类引用的对象转换为父类类型称为向上转型,把子类对象直接赋给父类引用叫upcasting,向上转型不用强制转型(类似于低精度赋给 ...

  6. java中的向下转型

    1.父类对象可以强制转换为子类对象,但是前提是此父类对象为子类对象实例化的结果. e.g. Fruit fruit=new Apple(); Apple a=(Apple)fruit;//ok e.g ...

  7. java 多态 向上造型

    最近在读java 编程思想,在读多态一章时,遇到了一个问题,在此记录一下. 1 package main.demo; 2 3 class Super{ 4 public int filed =0; 5 ...

  8. java中downcast向下转型到底有什么用

    What is the point of downcast? 当一个方法只有子类才有,马克-to-win:不是说基类和子类都有,开始时又是基类指针指向派生类,这时就需要downcast, see th ...

  9. 多态Poly中的向上/下转型 Upcast/Downcast

    [参考资料]马克-to-win java中多态polymorphism,向上转型和动态方法调度有什么用? java中什么叫多态,动态方法调度(dynamic method dispatch)? jav ...

随机推荐

  1. CNN:Channel与Core的高H、宽W的权值理解

    转自: 知乎问题[能否对卷积神经网络工作原理做一个直观的解释?https://www.zhihu.com/question/39022858]中YJango 的回答; 因总是忘记回答地址,方便以后查阅 ...

  2. PMP备考资料和备考经验分享(基于PMP第六版)

    之前有不少小伙伴私信我说,你PMP考过了,有没有报班呢,有没有自己看的资料,有没有一些经验分享,今天在这里,就统一给大家分享一下,以便大家备考和学习PMP. 先说我自己的情况,我本身是从事项目管理的, ...

  3. POJ 3186 Treats for the Cows (动态规划)

    Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ...

  4. jenkins拉源码设置参数化构建选项为tagname

    安装插件:https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/jquery/1.12.4-0/jquery.hpi 安装插件:https://mi ...

  5. Kubernetes之StatefulSet

    什么是StatefulSet StatefulSet 是Kubernetes中的一种控制器,他解决的什么问题呢?我们知道Deployment是对应用做了一个简化设置,Deployment认为一个应用的 ...

  6. 对于mysql数据库优化的见解

    一.数据库占用的空间大小.表占用空间大小.索引占用空间大小 在用阿里云的数据库的时候经常出现磁盘空间爆满的情况.所以要经常查询数据库相关内容占用的磁盘大小,有很多mysql客户端如navicat 就可 ...

  7. [物理学与PDEs]第4章习题2 反应力学方程组形式的化约 - 能量守恒方程

    试证明: 利用连续性方程及动量方程, 能量守恒方程 (2. 15) 可化为 (2. 21) 的形式. 证明: 注意到 $$\beex \bea &\quad\cfrac{\p}{\p t}\s ...

  8. [物理学与PDEs]第1章第9节 Darwin 模型 9.2 Maxwell 方程组的一个定解问题

    设 $\Omega$ 为一有界区域, 外部为理想导体 $(\sigma=+\infty)$, 则 $\Omega$ 中电磁场满足 Maxwell 方程组 $$\beex \bea \ve\cfrac{ ...

  9. [物理学与PDEs]第1章第5节 Maxwell 方程组的数学结构, 电磁场的波动性 5.3 电磁场的波动性, 自由电磁波

    1. 由 Maxwell 方程组易知 $$\beex \bea \cfrac{1}{c^2}\cfrac{\p^2{\bf E} }{\p t^2}-\lap{\bf E}  &=-\sex{ ...

  10. CF611D lcp+dp

    本篇博客只是留个辣鸡的自己标记一下,误入的同学请出门左转博客 https://blog.csdn.net/loy_184548/article/details/50865777 代码神马的也是复制啊 ...