java 多态判断非空_Java 多态

父类的属性变量(例如变量 int a)可以被继承,同时在子类中也会同时继承该变量(super.int a,继承的变量),子类中也可以再次声明一个同名(可以同类型)的变量(double a,自己声明的同名变量),两者可以同时存在。在输出时候根据对象的引用名输出,例如:

class Animal{

public int age; //此处在Animal中定义类型为int,名为age的变量。

public void move(){

System.out.println("动物总是不安分");

}

}

class Dog extends Animal{

public double age; //此处在Dog中定义新类型double,名为age的变量。当然int尝试也可以。

public void move(){

age =10;

System.out.println("狗跑的很快");

}

}

class Cat extends Animal{

public void move(){

super.age = 3; //此处继承age,并赋值为3.且该类中未重新定义变量。

System.out.println("猫跳的很高");

}

}

public class DuiXiang03{

public static void main(String args[]){

Animal a = new Animal(); // Animal 对象

Animal b = new Dog(); // Dog 对象

Animal c =new Cat(); //Cat 对象

Dog d= new Dog();

Cat e= new Cat();

a.move();//执行 Animal 类的方法

b.move();//执行 Dog 类的方法

c.move();//执行 Cat 类的方法

d.move();//执行Dog 类的方法

e.move();//执行 Cat 类的方法

Object aValue = a.age;

Object bValue = b.age; // b.age有两个age值,一个是自定义的age值,一个是继承的age值

Object cValue = c.age;

Object dValue = d.age; // d.age有两个age值,一个是自定义的age值,一个是继承的age值

Object eValue =e.age;

System.out.println("The type of "+a.age+" is "+(aValue instanceof Double ? "double" : (aValue instanceof Integer ? "int" : ""))); // Animal 类中的 age 未被赋值

System.out.println("The type of "+b.age+" is "+(bValue instanceof Double ? "double" : (bValue instanceof Integer ? "int" : ""))); // b.age有两个age值,输出取引用名为Animal的int类型值

System.out.println("The type of "+c.age+" is "+(cValue instanceof Double ? "double" : (cValue instanceof Integer ? "int" : ""))); // c.age只有一个age值,是super所继承的Animal中的age值,再被赋值为3

System.out.println("The type of "+d.age+" is "+(dValue instanceof Double ? "double" : (dValue instanceof Integer ? "int" : ""))); // d.age有两个age值,输出取引用名为Dog的double类型值

System.out.println("The type of "+e.age+" is "+(eValue instanceof Double ? "double" : (eValue instanceof Integer ? "int" : ""))); // c.age只有一个age值,是super所继承的Animal中的age值,再被赋值为3

}

}

输出的结果为:

动物总是不安分

狗跑的很快

猫跳的很高

狗跑的很快

猫跳的很高

The type of 0 is int

The type of 0 is int

The type of 3 is int

The type of 10.0 is double

The type of 3 is int

我是小萌新

我是小萌新

239***9370@qq.com2年前 (2018-08-30)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旋转轨迹_谁是最可怕的压轴题?——直线运动轨迹

运动问题是数学物理中非常喜欢研究的问题,这和我们本生生活的三维空间有密切的关系,我们无时无刻都在运动着,不论是坐着、站着还是躺着,都在不断运动。运动有复杂的运动,也有简单的运动,今天我们我们来聊一…

elementui表单校验原始密码_javascript 中入门数据校验

1.onSubmit 放在表单中,返回false为不提交 ,所以 放一个函数在里面所有的 数据获取,数据判断;都在内;(把一个value放到一个值,和另一个value值比对);2.获取提交的数据 ,判…

状态反射在体育运动中的作用_体育运动木地板时刻运行在最佳状态的秘诀

每日、每月和年度的维护可保持体育运动地板的外观和运动性能表现在最佳状态。大中小学校体育馆和商业运营场馆的维保人员承担着很多责任,其中最重要的是运动地板的护理和维护。体育场馆的运动地面一般由体育木地板、PVC地板或硅PU、丙烯酸地面等组成,因此…

chrome自动提交文件_实用!8个 chrome插件玩转GitHub,单个文件下载小意思

本文收录在个人博客,欢迎来寻宝实用!8个 chrome插件玩转GitHub,单个文件下载小意思​mp.weixin.qq.com作为程序员对 GitHub 应该都不会陌生,我经常沉迷其中,找一些惊艳的项目或者工具。不过用的时间久了,发…

vue 打开html流_在vue项目中添加一个html页面,开启本地服务器

在vue项目里新增一个不需要登录的页面,那么我只能新增一个html页面了,不经过路由,直接在浏览器输入路径打开,那么就需要用到本地服务器,1、vue里面的html页面最好放过在public文件夹里面,但是我的vue项目没…

c++保留小数点后三位数_C++保留有效位与保留小数位

如果想要保留n位小数 根据C++官网上的解释,该函数没有指定的返回类型,并且该函数用于设定输出操作上的小数精确位。 然后返回值中解释:未指定返回值,这个函数仅用于数据流修改操作上。 说了这么多,我想要表达的意思就是当我们需要将精确后的小数保存(将a精确后保存赋值给…

的translate插件_知否 ?知否 ?React插件了解一下!

为什么选择插件,而不是组件? 调用简单 this.$toast("xxx") ,不必再模板中提前定义 , 动态插入移除插件独立于业务更新不影响代码逻辑,做到热更新抽象,封装适用于toast,Dialog,Alert,…

分级调节是调节机制吗_机制砂大热,5种制砂工艺及特点介绍,选对生产工艺,保证高效生产...

随着我国大部分地区河砂、湖砂禁采、限采,机制砂迎来发展好时机,各地新建生产线如火如荼。人工机制砂工艺大致经历了由锤式破碎机制砂、棒磨机制砂、立轴冲击式破碎机( 以下简称“立轴破”) 制砂等的单破碎段制砂工艺,到立轴破碎机与棒磨机联…

client中周期性边界_(整理)周期性边界条件.

精品文档精品文档2.3.4周期性流动与换热如果我们计算的流动或者热场有周期性重复,或者几何边界条件周期性重复,就形成了周期性流动。FLUENT可以模拟两类周期性流动问题。第一,无压降的周期性平板问题(循环边界);第二,有…

两个摄像头合成一路_教你把一个摄像机添加到两台录像机

如果项目中遇到把一台摄像机添加到两台录像机怎么办呢?今天我们就一起来总结一下这方面的知识。一、适应场景及原理介绍应用场景:共装了几台网络摄像机,想要实现多台录像机同时预览这几台摄像机图像的功能。比如,监控中心里的一台…

cadence自动生成铺铜_干货 | 国内铜湿法冶金工艺现状分析

更多、更及时的交易信息,干货内容,请关注易矿网来源 | 网络编辑 | 易矿资讯,转载请注明出处1.国内外铜湿法冶金技术发展现状自1968年以来,世界上已设计、建设并运转了约50家浸出—溶剂萃取—电积厂,其中美国有16家&…

dataframe合并两个表_Pandas 数据处理 | 怎么对多个数据表合并,你了解么?

点击上方 Z先生点记,加为星标第一时间收到 Python 技术干货!merge() 函数用于合并两个 DataFrame 对象或 Series,数据处理时经常会用到这个函数,官网给出该函数的定义如下:pandas.merge(left, right, how: str inner,…

中fuse_保险丝座中保险丝的材质,结构,接线方式以及区别的介绍

保险丝材料主要是由铝锑合金等低熔点合金制成的。保险丝必需是易熔化的金属丝,才能在电流大时及时熔断,起到保护作用,所以通常用铅锑合金丝。保险丝的结构:一般保险丝由三个部分组成:一是熔体部分,它是保险…

找对象年龄差多大最好_女生找对象到底最看重什么?调查了全球6万多名女性的结果是......

文/英国那些事儿微信号:hereinuk“怎么想找个女朋友这么难啊!?”这种吐槽估计不少单身男生应该都有过,“女生到底对找男朋友都有啥要求啊?!”这个问题应该也是很多男生心中久久得不到解答的问题。不过就在最…

个人生活助手app_美居App 6版重磅升级 开启智慧生活新范式

2019年12月30日,美的IoT在美的全球创新中心HolaCon场景实验室举办了主题为“全屋智慧2020智慧生活新范式”美居焕新分享会,现场发布了美居App 6版一系列重磅升级的新功能。图:美居焕新会现场美居是美的智能家居的用户入口。截至目前,已经有超过4000万的用户通过美居使用美的智能…

程序员述职报告范文_物流人员述职报告范文(通用5篇)

物流人员述职报告范文(通用5篇)时间是看不见也摸不到的,就在你不注意的时候,它已经悄悄的和你擦肩而过,回顾过去的工作,倍感充实,收获良多,需要认真地为此写一份述职报告。你还在为写述职报告而苦恼吗&…

java环境变量javac不能成功 win7_配置Java环境

jdk下载 jdk.rar运行JDK文件点击下一步点击“更改目录”,将安装目录设置在自己喜欢的地方(建议),或者直接点击下一步(此时默认装到C盘) 此处演示安装到G:codepathjava安装完后直接点解关闭(注&a…

制图折断线_CAD制图初学入门之CAD标注时必须要区分的两个概念

由于很多CAD制图初学入门者对于CAD软件中的部分功能了解的不是很清楚,所以在使用CAD标注功能的时候可能会遇到各种问题,比如CAD折弯标注和CAD线性折弯标注。下面就给大家分享一些与CAD标注有关的CAD制图初学入门技巧吧!在使用浩辰CAD软件进行…

仪表板断面_【干货】内外饰断面设计规范

您的关注和分享就是对小编最大的支持来源 ▎ 车圈没有圈前言本标准明确了内外饰、仪表板的设计要素标准,使内外饰、仪表板的断面设计更加规范化,并作为内外饰、仪表板断面设计质量的评价依据。本标准包含车身、电器、底盘、总布置、造型等部分相关的内容…

定时器_Qt定时器小坑

今天在做音视频合成功能,由于Qt的定时器精度问题,导致视频合成有问题。视频合成是采用FFmpeg实现的,将h264视频和aac视频合成到mp4容器中。音频写入到mp4容器验证过是正常的,但视频写入到mp4容器中,播放出来总是过快。…