Java SE之向上转型与向下转型
package object; //向上转型-向下转型
public class Up_Down_convert { /* 向上转型
*
* 1.上转型对象可以使用和操作子类继承或者重写的方法
* 2.上转型丧失了对子类【新增成员】或者【新增方法】的操作和使用
* */
public void upConvert(){
Father father_a = new Son();
father_a.say();
father_a.action();
} /* 向下转型
*
* 1.把指向子类对象的父类引用赋给子类引用,叫向下转型
* 2.要强制转换
* 3.向下转型后的实例可以重新获得因向上转型而失去的方法(子类独有的)
* */
public void downConvert(){
Father father_a = new Son();//先向上转型(转至父亲类)
father_a = (Son)father_a;//error:再向下(强制)转型
father_a.say();
father_a.action();
// father_a.getMoney();//此方法(子类独有)无法使用 System.out.print("**************************\n"); Father father_b = new Son();//先向上转型(转至父亲类)
Son son = (Son)father_b; //right:另外新声明一个儿子对象,再向下转型实例化
son.say();
son.action();
son.getMoney();//上转型后,此方法仍(子类独有)可以【继续恢复使用】
}
public static void main(String args[]){
new Up_Down_convert().upConvert();//向上转型
//output:我是儿子! 儿子去上学! System.out.print("**************************\n");
new Up_Down_convert().downConvert();//向下转型
} } class Father{
public void say(){
System.out.print("我是父亲! ");
}
public void action(){
System.out.println("父亲去上班! ");
}
} class Son extends Father{
public void say(){
System.out.print("我是儿子! ");
}
public void action(){
System.out.println("儿子去上学! ");
} public void getMoney(){
System.out.print("儿子要生活费! ");
}
}
output:
我是儿子! 儿子去上学!
**************************
我是儿子! 儿子去上学!
**************************
我是儿子! 儿子去上学!
儿子要生活费!
Java SE之向上转型与向下转型的更多相关文章
- Java SE之向上转型(动态绑定)与向下转型
[Keywords]:向上转型 向下转型 动态绑定[1] 静态绑定[Abstract]:Java调用对象方法时,一般采用运行时绑定机制.[1] 在程序运行时,采用动态绑定意味着:虚拟机 ...
- Java入门记(二):向上转型与向下转型
在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文.例子参考了<Java编程思想>. 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转 ...
- Java中的向上转型和向下转型
首先要明白一点向上转型和向下转型他们都是建立在继承的基础上. 一.向上转型 子类到父类的转换通常称作向上转型,通俗的说就是定义父类对象指向子类对象. 下面通过一个例子来深入理解向上转型. //定义一个 ...
- Java转型(向上转型和向下转型)
在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 5.13.1 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就 ...
- JavaSE(五)JAVA对象向上转型和向下转型
今天做了一个测试的题目,发现自己还是很多问题没有静下心来做.很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了.所以这个要自己应以为鉴! 对象的转型问题其实并不复杂,我们记住一句话 ...
- JAVA的向上转型和向下转型怎么理解呢?
在定义中是子类向父类转型称为向上转型,父类向子类转型是向下转型(必须先向上转型过,才能向下转型), 但是在下面类定义后,我得到的结果却不同.求大佬解惑 class superclass{ public ...
- Java多态的向上转型和向下转型
Java多态的向上转型和向下转型 向上转型:(子类转为父类,自动转型) 格式 :父类类型 变量名 = new 子类类型(); 注:子类赋值给父类,那这时这个父类就能调用子类的方法 向下转型:(父类转为 ...
- java 向上转型和向下转型
学习向上转型和向下转型怎么用没多难,但是为什么那样用,我搞了很多次没弄明白.没弄明白的原因是平时学习时之看例子,而例子一般都比较简单,没有对象之间的调用,一般就是一个对象调用自己的方法. 首先看下怎么 ...
- “全栈2019”Java第五十三章:向上转型和向下转型详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java向上转型和向下转型(附具体样例)
Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一 ...
随机推荐
- js跨域请求jsonp解决方案-最简单的小demo
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- 如果filename的value有值 说明支持存储
如果filename的value有值 说明支持存储
- Layui_HDFS目录(上传,下载,删除,分页,下级目录,键盘控制返回上一页)
注:转载请署名 一.实体 package com.ebd.application.modules.fileManage.pojo; public class FilesOrDirs { private ...
- Codeforces 741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree)
感觉dsu on tree一定程度上还是与点分类似的.考虑求出跨过每个点的最长满足要求的路径,再对子树内取max即可. 重排后可以变成回文串相当于出现奇数次的字母不超过1个.考虑dsu on tree ...
- python 时间模块 -- time
time 时间模块 和时间有关系的我们就要用到时间模块.在使用模块之前,应该先导入模块. # 常用方法 import time print("现在执行我") time.sleep( ...
- java监控工具VisualVM
java监控工具VisualVM https://visualvm.github.io/ https://visualvm.github.io/documentation.html https://h ...
- 向git添加和提交文件
状态 git status 可以知道有哪些文件被修改,哪些文件待提交 当前无待提交文件 分区 三个分区:工作区,缓存区,版本库 三个分区之间的联系: 工作区 >> git add > ...
- KMP模板(KMP)
放一个模板在这里搞事情...... 学KMP的话找SYCstudio吧(博客链接) 代码(多组数据,\(O(n)\)求一个串是否在另一个串里出现过) #include<cstdio> #d ...
- android viewflipper的使用 实现图片滑动效果
package com.homer.viewflipper; import android.app.Activity; import android.os.Bundle; import android ...
- How to Add Trust Sites into IE before IE10 through Group Policy
Due to IE10 published, I'll conclude the methods that how to add trust sites in to IE of the version ...