多态性三种表现形式:
1. 类多态(通过继承实现)
2. 方法多态(方法重写,方法重载: 通过参数列表个数,类型不同来区分)
3. 动态连接(定义接口,然后声明上转型对象来实现)
上转型对象是将子类的对象赋值给父类的引用,形如: SuperClass sup = new SubClass();
是类多态性的一种表现形式(动态连接).
上转型对象不能使用子类新增成员(包括成员变量,成员方法),只能使用子类重写父类的方法,被子类隐藏的父类变量;子类未重写的父类方法,未被隐藏的父类成员变量.
我的误区:原来一直认为上转型对象无论是成员变量,还是成员方法都是优先访问子类的.如果子类覆盖了父类的成员变量,则上转型对象一定是访问子类覆盖父类的成员变量(子类中的成员变量),而不是访问父类中的成员变量.
因为JavaBean的广泛应用,平时在做Java程序的时候,因为一个读写权限的问题,常常不会对变量直接操作,而是通过成员变量的get,set方法间接操作成员变量.所以很自然错误地理解上转型对象操作变量与调用方法是类似的.
举例:
/*
@author jarg
@TODO 上转型对象测试
*/
class SuperClass
{
String str = "super";
void display()
{
System.out.println("super class: " + this.toString());
}
}
class SubClass extends SuperClass
{
String str = "sub";
void display()
{
System.out.println("sub class: " + this.toString());
}
}
public class Client
{
public static void main(String[] args)
{
SuperClass sup = new SubClass();
System.out.println("sup.str=" + sup.str);
sup.display();
}
}
如上代码中,sup.str访问的是父类的变量,输出sup.str=super;而sup.display()输出subclass: SubClass@1fb8ee3.
可见,不管子类有没有覆盖父类的成员变量,SuperClass的引用都是访问父类的成员变量str=super.而被调用的display()方法显然是子类中的方法.
个人认为这跟数据在存储方法的差别导致了这种现象,由于本人水平有限,分析暂时到此.
分析不对的地方,大家给指正,谢谢.
分享到:
相关推荐
### 上转型对象体现多态 在Java编程语言中,“多态”是面向对象编程(OOP)的核心特性之一,它允许程序以一种通用的方式处理不同类型的对象。本文将深入探讨Java中的上转型对象如何体现多态性,并进一步分析面向对象...
在Java编程语言中,上转型对象(Upcasting)是一种面向对象编程的概念,它涉及到将子类对象赋值给父类类型的引用。这种做法允许我们使用父类引用来调用子类对象的方法,从而实现多态性。在Java中,所有类都隐式地...
增值税转型---税务教育网---税务教育.ppt
2024中国企业数字化转型指数-埃森哲-2024-49页.pdf
工业互联网平台赋能重点行业数字化转型方--白皮书.pdf
解读传统零售行业转型难点--红星数字化转型实践.pdf
一起销售-2020年教育行业在线数字化转型白皮书-202012-70页.pdf
数字化转型定义: 数字化转型涵盖了技术范畴和商业范畴两个方面。从技术角度看,数字化指的是将连续变化的输入转化为计算机可用的二进制代码(0和1)。在商业领域,数字化意味着将数字技术应用于业务和管理的各个...
赛迪-工业数字化转型白皮书-2020.12-28页.pdf
Java实现运用上转型以及对象抽象方法计算圆形或圆锥的面积、周长等成员变量
数字化转型方法论概述 数字化转型是当前企业面临的重要挑战,如何实现数字化转型是企业生存和发展的关键。通过对《数字化转型方法-185页.pdf》的分析,我们可以总结出以下重要的知识点: 1. 数字化转型的重要性:...
【精品推荐】15份数字化转型经典案例合集 1、互联网行业——数字化转型案例-348页 2、金融行业——数字化转型案例-226页 3、零售行业——数字化转型案例-209页 4、制造行业——数字换转型案例-397页 5、医疗医药行业...
智能电表行业深度专题:新标准下量价齐升,支撑电网双碳转型-20210606-中泰证券-32页.pdf
德国以信息技术促进老工业基地转型--摘要.doc
2020年教育行业在线数字化转型白皮书-一起销售-2020.12-70页.pdf
房地产行业——数字化转型案例-38页.pdf
麦肯锡-智能网点:中国金融行业转型报告-2019.5-18页.pdf
运用大数据和人工智能技术促进内部审计数字化转型--以国家外汇管理局为例.pdf