Java多态的向上转型和向下转型

向上转型:(子类转为父类,自动转型)

格式 :父类类型 变量名 = new 子类类型();

注:子类赋值给父类,那这时这个父类就能调用子类的方法

向下转型:(父类转为子类,强制转型)

格式: 子类类型 变量名 = (子类类型) 父类类型的变量;

注:这个只能转换上边那种是从子类转为父类的“形式父类”;

     而直接创建的父类对象,是无法向下转型的;也就是说调用的还是子类的方法而并不是父类的方法。

例子如下:

父类:

 package com.duotai2.demo;

 public class Fu {
public static int num=66;
public void show(){
System.out.println("Fu的显示");
}
}

子类:

 package com.duotai2.demo;

 public class Fu {
public static int num=66;
public void show(){
System.out.println("Fu的显示");
}
}

测试:

 package com.duotai2.demo;

 public class Test {
public static void main(String[] args) {
//子类转为父类(向上转型)
Fu f=new Zi();
//调用子类的方法
f.show();
//父类转为子类
Zi zhuan=(Zi)f;
//调用其实还是子类的方法
zhuan.show();
}
}

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

  1. Java入门记(二):向上转型与向下转型

    在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文.例子参考了<Java编程思想>. 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转 ...

  2. “全栈2019”Java第五十三章:向上转型和向下转型详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. 多态,向上转型,向下转型,final关键字

    多态 概述   多态封装性,继承性之后,面向对象的第三大特性. 定义   多态:是指同一种行为,具有多个不同的表现形式.   生活中,比如跑的动作,猫,狗,大象跑起来的动作都是不一样的,再比如飞的动作 ...

  4. Java中的向上转型和向下转型

    首先要明白一点向上转型和向下转型他们都是建立在继承的基础上. 一.向上转型 子类到父类的转换通常称作向上转型,通俗的说就是定义父类对象指向子类对象. 下面通过一个例子来深入理解向上转型. //定义一个 ...

  5. Java转型(向上转型和向下转型)

    在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 5.13.1 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就 ...

  6. JavaSE(五)JAVA对象向上转型和向下转型

    今天做了一个测试的题目,发现自己还是很多问题没有静下心来做.很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了.所以这个要自己应以为鉴! 对象的转型问题其实并不复杂,我们记住一句话 ...

  7. JAVA的向上转型和向下转型怎么理解呢?

    在定义中是子类向父类转型称为向上转型,父类向子类转型是向下转型(必须先向上转型过,才能向下转型), 但是在下面类定义后,我得到的结果却不同.求大佬解惑 class superclass{ public ...

  8. java 向上转型和向下转型

    学习向上转型和向下转型怎么用没多难,但是为什么那样用,我搞了很多次没弄明白.没弄明白的原因是平时学习时之看例子,而例子一般都比较简单,没有对象之间的调用,一般就是一个对象调用自己的方法. 首先看下怎么 ...

  9. Java向上转型和向下转型(附具体样例)

                                                Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一 ...

随机推荐

  1. Xcode清除缓存,清除多余证书

    http://blog.csdn.net/IDOshi201109/article/details/46634541

  2. linux系统安全更新

    um --security upgrade 一.参考文档:  https://blog.csdn.net/ubuntu64fan/article/details/80927212 二.Linux主机定 ...

  3. 作为sort()方法的参数的比较函数(高程三第五章)

    <script> var nums = [0,1,5,10,15]; var nums2 = nums; nums.sort(); console.log(nums);//0,1,10,1 ...

  4. ubuntu-Linux下如何安装Tensorflow?

    http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html https://www.cnblogs.com/ ...

  5. 【ASP.NET 问题】Win7中IIS被防火墙阻止导致外网无法访问的解决方法。

    今天装了IIS7.0,把网站发布了上去,但局域网的其他电脑始终无法访问主机上的网站. 于是想到防火墙的原因,把防火墙关掉,可以正常访问,但是打开就不行. 于是去网上找资料,总算搞定了. 原来在防火墙的 ...

  6. leetcode212

    class Solution { public List<String> findWords(char[][] board, String[] words) { List<Strin ...

  7. hasattr getattr setattr delattr --> (反射)

    class Room: def __init__(self,name): self.name = name def big_room(self): print('bigroot') R = Room( ...

  8. js求时间差,两个日期月份差

    var date1=new Date();  //开始时间 alert("aa"); var date2=new Date();    //结束时间 var date3=date2 ...

  9. centos 卸载mysql

    1 删除Mysql yum remove  mysql mysql-server mysql-libs mysql-server; find / -name mysql 将找到的相关东西delete掉 ...

  10. [linux]如何更新Ubuntu的数据源

    为何要更新数据源?国外的数据源,除了速度慢这个次要因素,更可怕的是有些链接根本不通,导致用户既没有下载东西,也没有看到实质性提示:潜在的危险就是编译错误不能定位,严重时甚至重装系统.本文介绍几个国内有 ...