社区
Java SE
帖子详情
【Java多态疑问】
握草
2018-01-06 10:36:54
疑问如下:
我们知道,Java中子类可以继承父类的方法和属性(private看作隐式继承,通过get方法可得),可是
为什么向上转型即父类引用子类时,父类的普通方法叫“覆盖”,静态方法叫“隐藏”(就是转型后就调用父类的方法了);而属性则只可以被“隐藏”却不能“覆盖”呢?
希望大家不要吝惜自己的想法,如果可以结合实例或者底层说说就更好了
...全文
309
5
打赏
收藏
【Java多态疑问】
疑问如下: 我们知道,Java中子类可以继承父类的方法和属性(private看作隐式继承,通过get方法可得),可是 为什么向上转型即父类引用子类时,父类的普通方法叫“覆盖”,静态方法叫“隐藏”(就是转型后就调用父类的方法了);而属性则只可以被“隐藏”却不能“覆盖”呢? 希望大家不要吝惜自己的想法,如果可以结合实例或者底层说说就更好了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
云楼
2018-01-09
打赏
举报
回复
生成子类对象时并不会同时生成父类对象 当调用普通方法时,相当于(this.方法名),因为没有父类对象,所以this只能指向子类对象,调用子类的方法 当调用静态方法时,静态方法也被称为类方法,无需构造对象用类名可以直接调用,所以调用时是(类名.方法名),父类存在,所以向上转型时调用父类的静态方法。
oyljerry
2018-01-07
打赏
举报
回复
转成父类就要用多态方式调用子类实现
qq_39449585
2018-01-07
打赏
举报
回复
我的理解是:多态需要继承+覆盖方法+父类引用指向子类对象。 当你调用非静态且不是private的方法时时,会将该对象的引用传递给方法,会根据实际的对象调用,因此叫“覆盖”。 而静态方法只需通过类名调用就可以了,如果通过对象调用也不会传递对象引用给方法,根据引用的类型调用。
Lie_lei
2018-01-07
打赏
举报
回复
我觉得可以这么理解,你继承了你父亲的优点,你不说你是从你父亲那里继承的优点,谁会知道呢。在外人认为是自己的优点,你父亲依旧有这些优点,只是被你隐藏起来啦。这样我觉得很好理解。
Dean丿霸王
2018-01-07
打赏
举报
回复
继承不是类的继承,是子类的对象的继承,子类对象可以调用父类的属性和方法,覆盖是指你子类不想用父类的方法的内容,想重新写一个。
Java
零基础-
多态
.md
内容概要: 本文介绍了
Java
中
多态
(Polymorphism)的概念和用法。读者将学习什么是
多态
,为什么需要
多态
,以及如何在程序中实现
多态
。此外,还会讨论
多态
时的一些注意事项和规则。 能学到什么: 理解
多态
的定义、用途和原理。 掌握在
Java
程序中实现
多态
的基本技巧。 理解父类引用指向子类对象的特性,并了解动态绑定的工作原理。 了解
多态
时的一些规则,如方法覆盖和类型转换等。 阅读建议: 建议读者在阅读前具备
Java
的基础知识,包括类、对象、方法和继承等概念。 在阅读过程中,尝试编写简单的
Java
程序,体验
多态
的效果,并观察父类引用指向子类对象时的行为变化。 建议通过阅读相关的
Java
教材或搜索资料,进一步了解与
多态
相关的高级主题,如抽象类和接口等内容。 如有
疑问
,可以参考
Java
官方文档或向技术论坛寻求帮助,进一步加深对
多态
的理解。
Java
零基础-方法覆盖.md
内容概要: 本文介绍了
Java
中方法覆盖(Method Overriding)的概念和用法。读者将学习什么是方法覆盖,为什么需要方法覆盖,以及如何在子类中覆盖父类的方法。此外,还会讨论方法覆盖时的一些注意事项和规则。 能学到什么: 理解方法覆盖的定义、用途和原理。 掌握在子类中覆盖父类方法的基本步骤和注意事项。 理解@Override注解的作用和使用方式。 了解方法覆盖时的一些规则,如访问修饰符、返回类型和异常处理等。 阅读建议: 建议读者在阅读前具备
Java
的基础知识,包括类、对象、方法和继承等概念。 在阅读过程中,尝试编写简单的
Java
程序,体验方法覆盖的效果,并观察父类和子类方法的调用情况。 建议通过阅读相关的
Java
教材或搜索资料,进一步了解与方法覆盖相关的高级主题,如
多态
和抽象类等内容。 如有
疑问
,可以参考
Java
官方文档或向技术论坛寻求帮助,进一步加深对方法覆盖的理解。
Java
零基础入门之
Java
概述及环境搭建
了解
Java
语言的发展史和ava语言的职业前景。同时学习编程语言的运行机制,熟悉
Java
开发环境的搭建; 本课程是《
Java
零基础至高级应用》系统课程的第一章,全套课程精细讲解,高级课程超过其他机构30%的课程量,经过我们全套课程系统学习的同学,可轻松从事
Java
高级工程师或系统架构师岗位,课程提供全套代码笔记其它相关素材及答疑服务,可谓是低投资高回报!学习前或学习后有任何
疑问
请在课程中提问,老师看到会第一时间回复!
恒生电子
JAVA
笔试试题-Thinking-In-
Java
-Notes:Thinkingin
Java
学习笔记
恒生电子
JAVA
笔试试题 #《Thinking In
Java
》学习笔记 [TOC] 阅读计划 章节列表 对象导论 一切都是对象 操作符 控制执行流程 初始化与清理 访问权限控制 复用类
多态
接口 内部类 持有对象 通过异常处理错误 字符串 类型信息 泛型 数组 容器深入研究
Java
I/O系统 枚举类型 注解 并发 图形化用户界面 目标重点学习章节 5#初始化与清理 8#
多态
9#接口 11#持有对象 14#类型信息 15#泛型 17#容器深入研究 18#
Java
I/O系统 20#注解 21#并发 学习计划 《Think In
Java
》共计22章,达800多页,重点难点章节集中在后半部分,计划学习时间为2016/7/7-2016/7/14,部分章节有过学习经历,结合情况采取前半部分内容快速学习和总结,后半部分预期以较慢速度学习并且每天回顾。每章对有
疑问
的地方采取问答式记录,有必要时记录测试代码跟输出结果。其余属于可查阅型的知识点也可做一定程度的记录。 因时间原因与过去使用SWT和Swing的经历,暂时决定放弃22章的系统学习,将中心放在上述目标重点学习章节,以及其他不太熟悉的
java
script每日必学之
多态
朋友们大家好,今天我们就接着前面的内容讲,前面我们已经讲到了继承,今天我们就来讲OOP目前最后一个体现,那就是
多态
,因为
java
script语言的灵活性,所以我们是没有办法使用接口的,所以这也给js程序带来了一定的困惑,大家也不用太着急关心这个问题,因为这些到后面ECMAScript后面的版本会给我们解决这些问题的,又扯远了,还是回到正题,OOP的
多态
,前面我们已经可以很明白的理解继承是什么样子的了,就是先声明一个父类,然后,我们可以写很多的子类来继承父类的属性和方法,这些我们就可以用最少的代码量,实现了与父类一样的功能,这就是继承。马上就有同学提出
疑问
:前面的继承我看了很久,也能有理解,但主
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章