java、上转型对象
1. 定义
如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:
A a;
a = new B();
OR
A a;
B b = new B();
a = b;
则称A类对象a是子类B对象b的上转型对象。
2. 性质
对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能。上转型对象具有以下特点:
上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即为较子类B失去一些属性和功能,这些属性和功能是新增的。
上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写。
上转型对象调用方法时,就是调用子类继承和重写过的方法。而不会是新增的方法,也不是父类原有的方法。
可以将对象的上转型对象再强制转换到一个子类对象,强制转换过的对象具有子类所有属性和功能。
3. 举例
如:
OutputStream output;
output = new FileOutputStream(filename);
并且根据Java API知
java.lang.Object
java.io.OutputStream
java.io.FileOutputStream
这时,output就是上转型对象啦。有什么特殊呢?就是output可以使用FileOutputStream从父类OutputStream那里继承来的方法和重写的方法,而不能使用子类FileOutputStream自己新增的方法啦。最后,这种方法是很常用的哦。。。当父类有很多子类时,就能实现方法的多态。^_^
转载于:https://blog.51cto.com/10463240/1671864
java、上转型对象相关推荐
- java 上转型对象_Java中上转型对象数组
先上结论:上转型对象数组,不能添加子类类型以外的元素,编译可以通过,但是运行时会报错. 原文 在Java中,Object[]数组可以是任何数组的父类(因为任何一个数组都可以向上转型为它在定义时指定元素 ...
- java 上转型对象_Java上转型和下转型对象
版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 上转型对象:子类创建对象 并将这个对象引用赋值给父类的对象. 语法格式:Father f=new Son(); 注 ...
- java上转型对象特点_Java 浅析三大特性之一继承
上文Java 浅析三大特性之一封装我们说到Java是一个注重编写类,注重于代码和功能复用的语言.Java实现代码复用的方式有很多,这里介绍一个重要的复用方式--继承. 在介绍继承之前,我们要明确一点, ...
- java学习(51):上转型对象
定义一个animal类 //java上转型对象 public class Animal { public String name="动物"; public String getNa ...
- java 对象的上转型对象(父类)
Example5_10.java class 类人猿 {void crySpeak(String s) {System.out.println(s); } } class People extends ...
- 什么是上转型对象及其基本特征
5.12.什么是上转型对象及其基本特征? 上转型对象---子类对象赋值给父类变量. 例如: package com.wangxing.test1; //父类 public class Person { ...
- java上转型与下转型,Java -- 上转型和下转型
首先理解一句话:父类引用指向子类对象:什么意思呢? 记得在刚开始学习面向对象编程时候,经常听老师讲:如果要使用一个类中的成员,就需要先实例化对象,就是说要先创建一个引用类型的对象,就可以使用里边的内容 ...
- java上转型来实现人种和地区的识别
首先创建一个人的抽象类People,类中默认一个抽象方法,一个带返回值的方法. ackage jiekou;public abstract class People {public abstract ...
- 天耀18期 -08.面向对象-上转型【作业】
1. 上转型对象的定义是什么?阐述自己对上转型对象的理解,用文字描述. 上转型:父类声明,子类实例化叫做上转型. (自己的理解)上转型对象可以利用父类中的全员变量和方法,当子类进行全员变量隐藏或方 ...
最新文章
- 使用QT定时器 隐藏 label
- 2020年, VQA论文汇总
- 2017年第八届蓝桥杯 - 国赛 - C/C++大学B组 - A. 36进制
- MyBatisPlus_更新篇_入门试炼_03
- 【10.1】python中的GIL
- sed,awk,grep学习笔记
- 2022年6月TIOBE编程语言排名:Python、C、Java
- 干货 | 【备考PMP】 鬼知道经历了什么,成功拿下5A成绩~
- Linux 命令 大结
- Windows 7 频繁提示:计算机的内存不足
- GoTop给网站加一个悬挂猫效果上吊猫
- GitHub代码,资源下载慢?怎么办?
- python版CSDN博客备份工具
- echarts 双Y轴,双X轴, 折线图折点,折点与直方对应
- 现在还可以做公众号吗?我是如何在细分领域公众号粉丝一年不到从0到5000+增长?
- ubuntu 切换 java 版本
- 在ANSYS workbench中如何对物体局部区域进行网格细密化
- ERROR [master/jinghang01:16000:becomeActiveMaster] master.HMaster: Failed to become active master
- ZO1X(功能安全验证)介绍
- 平台开发——skynet——⑤网关服务gate
热门文章
- 一部IT电影,《反托拉斯行动》,主角加里-文斯顿(蒂姆·罗宾斯饰)影射比尔·盖茨...
- 机器人产业:借人工智能突破“拐点”
- ASP.NET中 DropDownList+GridView(网格视图)的使用前台绑定[高]
- python ImportError: No module named unittest2
- eigrp 重分布默认路由
- 最好最坏和平均情况下的性能分析
- Google C++ 编码风格精简
- golang中的strings.TrimRight
- 内核地址空间和用户地址空间
- Flash存储控制器组成!(flash)