public class Test01{

public static void main(String[] args){

/*

GoodBoy b = new GoodBoy();//可以使用下面的

*/

//用父类的引用Boy指向子类对象GoodBoy

Boy b = new GoodBoy();//自动向上转型

b.say();

//GoodBoy gb = (GoodBoy)b;//向下转型(把父类引用转换为子类对象)

//有可能发生类型转换异常

/*

GoodBoy gb = (GoodBoy)b;有可能报错,为了防止,需要用到instanceof

instanceof 检查对象是否为某个类型

*/

if(b instanceof GoodBoy){

GoodBoy gb = (GoodBoy)b;

}

print(b);

}

public static void print(Boy boy){

boy.say();

//代码针对boy来写,不确定是GoodBoy还是BadBoy,在调用print(boy),这个例子对应的是Goodboy

//这就是多态性

//如果下面再有OkBoy、Yesboy、WhatBoy,这个方法也同样适用

//这就是多态性

//对修改关闭,对扩展开放

}

}

class BadBoy extends Boy{

public void say(){

System.out.println("no~no~no~");

}

}

class GoodBoy extends Boy{

public void say(){

System.out.println("yes~yes~yes~");

}

}

abstract class Boy{

public String name;

public String getName(){

return name;

}

public void setName(){

this.name = name;

}

public abstract void say();

}

java布尔类型 向上转型_JAVA_多态性演示a____自动向上转型、向下转型、检查对象是否为某个类型(instanceof)...相关推荐

  1. 【转载】C#使用is关键字检查对象是否与给定类型兼容

    在C#的编程开发过程中,很多时候涉及到数据类型的转换,如果强行转换数据类型,有时候可能会出现程序运行时错误,C#语言中提供了is关键字可以检查对象是否与给定类型兼容,可先判断类型兼容后再进行对象的转换 ...

  2. html table 向上滚动,决策报表的表格自动向上滚动问题

    setTimeout(function() { var $report = $("div[widgetname=REPORT0]"); //获取对应report的div元素 var ...

  3. JAVA中的向上转型和向下转型

    一.向上转型和向下转型 向上转型和向下转型是在JAVA继承操作中用到的东西,在讲到转型之前我们需要认识到继承过程中的对象类型转换,这种转换有两个特点:              1.这是继承过程中发生 ...

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

    一.简述   Java 转型主要是用在继承和接口实现的场景,Java 转型可分为向上转型和向下转型,区别如下: 向上转型:通过子类对象实例化父类对象,这属于自动转换. 向下转型:通过父类对象实例化子类 ...

  5. java中的向下转型和向上转型

    关于转型 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型 向上 ...

  6. Java向上转型 向下转型

    java转型,只要记住一句话:父类引用子类对象. 向上转型(upcasting),向下转型(downsasting). 例如:有两个类,Animal是父类,cat是子类. Animal an=new ...

  7. JAVA中多态以及向上转型向下转型、重写的讲解

    重写 重写(override):也称为覆盖.重写是子类对父类非静态.非private修饰,非final修饰,非构造方法等的实现过程 进行重新编写, 注意!!!返回值和形参都不能改变. 重写的好处在于子 ...

  8. java面向对象的特征三:多态性 —(15)

    1.多态性的理解:可以理解为一个事物的多种形态. 2.何为多态性: 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) 举例: Person p = new Man(); Objec ...

  9. chapter7 面向对象之向上转型、向下转型及多态

    文章目录 1.对象类型转换 1.1向上转型 1.2向下转型 2.多态 1.对象类型转换 将一个类型强制转换成另一个类型的过程被称为类型转换.本节所说的对象类型转换,是指存在继承关系的对象,不是任意类型 ...

  10. java的向下转型_浅谈Java向下转型的意义

    一开始学习 Java 时不重视向下转型.一直搞不清楚向下转型的意义和用途,不清楚其实就是不会,那开发的过程肯定也想不到用向下转型. 其实向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向 ...

最新文章

  1. HTML SVG 如何下载svg文件,png文件,jpge文件
  2. Microsoft Dynamics CRM 2011 多客户端安装共用同一Sql Server 实例设置
  3. QTableWidget去掉默认行号
  4. boost::boyer_myrvold_params::kuratowski_subgraph用法的测试程序
  5. C++ 值传递、指针传递、引用传递
  6. javascript动态创建radio button元素支持IE/Firefox
  7. 第十二篇 Android 系统电话管理机制一--工厂模式和代理模式
  8. Visual Studio 窗口的图标、图片资源 $this.Icon 在哪查看
  9. php大数除法保留精度问题
  10. 猪是这样养成的(网络架构知识普及)
  11. 钢铁雄心II(HOI2)作弊码合辑
  12. C语言课程设计|职工工资管理系统
  13. 滨州学院CSDN高校俱乐部 策划书
  14. html页面会出现浏览器崩溃,电脑出现页面崩溃怎么解决
  15. 最新html word 分页符,分页符在哪 或者打开 word文档选项
  16. 【笔记】HEFT——面向异构计算的高性能、低复杂度任务调度
  17. 2022云管和云网大会|《云容灾白皮书2022》发布,万博智云参与撰写
  18. 用户一键登陆,如何实现?了解一下!
  19. 备份win10的驱动程序
  20. selenium登录豆瓣网

热门文章

  1. 【元胞自动机】基于matlab元胞自动机双通道交通【含Matlab源码 1657期】
  2. 【火灾检测】基于matlab GUI火灾检测(带面板)【含Matlab源码 1646期】
  3. 【优化算法】非支配排序遗传算法(NSGA)【含Matlab源码 176期】
  4. 【TSP】基于matlab遗传算法求解31城市旅行商问题【含Matlab源码 1150期】
  5. 【车牌识别】基于matlab GUI BP神经网络车牌识别【含Matlab源码 669期】
  6. php操作mysql数据_详解PHP操作MySQL数据库
  7. 创建dqn的深度神经网络_深度Q网络(DQN)-II
  8. deep-sort 代码阅读(https://github.com/nwojke/deep_sort)
  9. 修复Linux系统内核TCP漏洞,Linux 内核中TCP SACK机制远程Dos漏洞处理方法(CVE-2019-11477) | 聂扬帆博客...
  10. 武汉理工大学计算机学院夏令营,武汉理工大学计算机科学与技术学院(专业学位)软件工程保研夏令营...