父类 pet
子类 Dog
子类 qiE

向上转型:   Dog dog =new();

pet dog=new Dog();

pet必须是Dog的父类,才可以向上转型,类似自动类型转换

向下转型 :  Pet pet=new Dog();

Dog dog=(Dog)pet;

类似强制类型转换 ,然而向下转型容易出现异常,所以需要用instanceof 判断类型是否转换成功。

 if(animal instanceof qiE){ //企鹅子类qiE q3=(qiE) animal;System.out.println(q3);q3.swim();}else{Dog dog =(Dog) animal; //语法上没错但是不能这么转,所以需要判断一下向下转换能转哪种类型 System.out.println(dog);//狗子类dog.flyDisk();}

向上转型的话只能调用父类通用的方法,而不能调用子类独有的方法。想要调用子类·独有的方法,则需要向下转型

词总结 cast  转换  subway地铁

父类 子类向上,向下转型相关推荐

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

    任何类都是object类的子类 用object对象接收数组 object类的向上向下转型 转载于:https://www.cnblogs.com/qingyundian/p/7744351.html

  2. 【java基础18:方法覆盖与多态】什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型

    目录 方法覆盖Override 多态 方法覆盖Override 方法覆盖初体验,什么样的程序要方法覆盖 /*当前程序存在的问题(设计上的问题)??鸟儿在执行move()方法的时候,最好输出的结果是:& ...

  3. 27对象的向上向下转型

    1.对象的向上转型 也就是把右边的子类当作左边的父类来看. Animal.java package Demo01;public abstract class Animal {public abstra ...

  4. 面向对象3(final、static、instanceof、向上/向下转型、初始化次序)

    1. final 对于基本类型,final 使数值不变: 对于引用类型,final 使引用不变,也就不能引用其它对象,但是被引用的对象本身是可以修改的. 可用来修饰类.类的成员.局部变量: final ...

  5. Java学习之向上、下转型

    需要注意的是向上.向下转型之后各个成员变量值的变化 首先来看父类代码 public class Quadrangle {public int rangle=30;public void doit() ...

  6. Java多态与向上向下转型

    多态的必要三要素 1.继承 2.方法重写 3.向上转型 多态的作用 1.增加代码的复用性 2.便于代码的管理与维护 案例引入 代码: //测试类 public class Test {public s ...

  7. Java阻断继承和向上向下转型

    1.阻断继承 从Java15开始,允许使用sealed修饰符,并通过permits明确写出能够从该class继承的子类名称.这种sealed类主要用于一些框架,防止继承被滥用.sealed类在Java ...

  8. java的向下转型_Java 向上/向下转型浅析

    基于java的继承,向上或者向下转型是一种常见的情景,在thinking in java对这一情况进行了详细说明,见以下例子: class Useful { public void f() {} pu ...

  9. Java笔记(一)向上向下转型,枚举,初始化,可变长参数,代理,多态,继承

    写给自己看的笔记,很乱.如果有人感兴趣也可以看看,有问题可以问,我进行补充 这里写目录标题 Java数组传递 for循环 Java引用类型详解 可变长参数 ... 可变参数列表 Java参数类型变化 ...

最新文章

  1. 前端模块化--这是我看过讲得比较好的东东
  2. 2015-2016前端架构体系技术
  3. 《20170911-构建之法:现代软件工程-阅读笔记》
  4. springboot 1.5.2 集成kafka 简单例子
  5. ASP.NET 泛型类型 Dictionary操作
  6. 重读《从菜鸟到测试架构师》--黑色的盒子里有什么(中)
  7. javascript设计模式-Constructor(构造器)模式
  8. Eclipse下Pydev在线安装失败及解决办法
  9. 雷电模拟器多开cpu优化_哪个电脑手游模拟器好用 安卓手游模拟器测试对比排行榜...
  10. Character的static方法
  11. 算法 判断多个点是否在同一圆周线上_广州灵活计费自动出盘机技术方案大盘点...
  12. 潍坊科技学院五专部计算机应用基础试题,14计算机应用基础(A)
  13. python进行文本分类_python实现文本分类
  14. 概率练习 (16.04.30)
  15. 微信小程序无法获取头像,昵称的解决办法 (原生)
  16. html文本下一页,Javascript html2canvas + jsPDF 导出PDF,解决一半文字在上一页一半文字在下一页的问题...
  17. 矩形连乘问题c语言,矩阵连乘问题
  18. python 边缘扩充方式
  19. Python之freshman01
  20. 低频125KHZ|134.2KHZ安卓手持机|RFID智能终端CK-LH100-SYS性能与应用方案

热门文章

  1. 敏捷性开发框架_扩展敏捷性:选择敏捷框架之前要问的问题
  2. C语言:计算1/1-1/2+1/3-1/4+1/5.......+1/99-1/100的值
  3. 随手记——Linux中编写实时性代码时需要注意哪些问题
  4. 【数仓】数仓建模—指标体系
  5. Hystrix之服务降级
  6. c# 通过JObject解析json对象
  7. 你知道考研的弃考率有多高吗?
  8. 公众号跳转小程序的4个简单方法实现
  9. Linux 如何杀死一个进程和它的所有子进程
  10. Postgresql学习笔记之——数据类型之字符串类型