如何解析Java的方法覆盖与变量覆盖
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章给大家介绍如何解析Java的方法覆盖与变量覆盖,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,我们看看关于重载,和覆盖(重写)的简明定义:方法重载:如果有两个方法的方
千家信息网最后更新 2025年11月09日如何解析Java的方法覆盖与变量覆盖
这篇文章给大家介绍如何解析Java的方法覆盖与变量覆盖,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
首先,我们看看关于重载,和覆盖(重写)的简明定义:
方法重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。
方法覆盖:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法
我们重点说说覆盖问题,以如下代码为例:
public class People { public String getName() { return "people"; } } public class Student extends People { public String getName() { return "student"; } } public static void main(String[] args) { People p=new People(); System.out.println(p.getName());//运行结果为people Student s=new Student(); System.out.println(s.getName());//运行结果为student People pp=new Student(); System.out.println(pp.getName());//运行结果为student }上述结果说明:student类的getName方法成功覆盖了父类的方法
我们再来看看变量的覆盖:
public class People { protected String name="people"; } public class Student extends People { protected String name="student"; } public static void main(String[] args) { People p=new People(); System.out.println(p.name);//运行结果为people Student s=new Student(); System.out.println(s.name);//运行结果为student People pp=new Student(); System.out.println(pp.name);//运行结果为people }通过运行结果我发现:变量的覆盖实际上与方法的不尽相同。
用我自己的话说:变量的覆盖最多只能算是半吊子的覆盖。
要不然,向上转换与不会发生数据丢失现象
People pp=new Student(); System.out.println(pp.name);//运行结果为people
就我个人的经验来说:变量的覆盖很容易让人犯错误.让人感觉又回到了C++的继承[这里不是指C++带virtual的继承]
***我们再来看一段代码:
public class People { protected String name="people"; public String getName() { return name; } } public class Student extends People { protected String name="student"; public String getName() { return name; } }main(String[] args) { People p=new People(); System.out.println(p.getName());//运行结果为people Student s=new Student(); System.out.println(s.getName());//运行结果为student People pp=new Student(); System.out.println(pp.getName());//运行结果为student }显然,如此的覆盖,才是对我们更有用的覆盖,因为这样才能达到:把具体对象抽象为一般对象的目的,实同多态性。
关于如何解析Java的方法覆盖与变量覆盖就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
方法
结果
运行
变量
参数
相同
代码
内容
名称
子类
对象
更多
类型
帮助
不错
多态
简明
一致
成功
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
图像处理与神经网络技术
河北pdu服务器电源可以定制吗
湛江通信软件开发平均价格
龙卷风数据库的初步构建与应用
阿里云服务器拒绝连接
儿童画网络安全漫画作品
杀手3服务器管理权限
松下电器软件开发公司怎么样
服务器防御10g够用吗
怎么炸平台cs服务器
计算机网络技术张雪峰老师
成都软件开发学院
八方网络安全科技馆
移动应用软件开发 试卷
上海泰象软件开发
21国家网络安全宣传周主题
网络安全基本需求
阿里云服务器自动关机
动态综合网络安全防御体系
博兴瓷砖库存软件开发公司
网络技术服务部岗位职责
在缅北租服务器
鹤山市网络安全宣传周
软件开发的研究条件写什么
国三网络技术大级考
人社局开展网络安全周
输液监护管理系统数据库
一年级网络安全手抄报
u8erp 数据库初始化
网络安全信息板报