Java中有了super为什么还要有多态?

至长安 2019-09-11 05:40:42
有了super既可以访问父类中的属性和方法,也可以访问本类中的属性方法,为什么还要用父类型引用指向子类型对象?求解。
...全文
1515 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
LighBlade 2019-09-19
  • 打赏
  • 举报
回复
好多时候都是 使用 父类或者接口 等 来声明 原因是你不知道以后可能有多少子类或者实现类,或者不运行不知道使用的是哪个(动态的) (虽然他们的行为模式是一致的,但是具体实现有差异) 你不知道是哪个,当然就没法直接声明成那个 这时候,声明成父类或者接口 就好了
mr_foxsand 2019-09-16
  • 打赏
  • 举报
回复
多态,简单理解就是我有一个接口A,B、C、D....都实现了这个接口,但是每个实现过程不同。
qq_40824391 2019-09-15
  • 打赏
  • 举报
回复
肯定需要多态啊~
爱吃的小老鼠 2019-09-15
  • 打赏
  • 举报
回复
this是为了区分父类和子类中的变量吧
握了个大蚂蚱 2019-09-15
  • 打赏
  • 举报
回复
super是往上,往下和同级之间呢
凌晨4点钟 2019-09-14
  • 打赏
  • 举报
回复
我觉得这样的一方面是为了实现多态性,另外,可以在复杂的程序中实现解耦,提高代码的复用性
亦夜 2019-09-14
  • 打赏
  • 举报
回复
研究一下里氏代换原则,遇到这种问题只要把基层的东西搞懂了,一切就明白了
Adminer123456 2019-09-14
  • 打赏
  • 举报
回复
往后面学慢慢的会理解的,或者去搜几个例子看看
zzcc612 2019-09-13
  • 打赏
  • 举报
回复
super是父类对象的引用,this是当前对象的引用,super不能访问本类(子类)的任何成员,父类型引用指向子类型对象是多态,子类对象向上转型,JVM通过后期绑定,运行更具体的行为
qq_39936465 2019-09-12
  • 打赏
  • 举报
回复
引用 6 楼 至长安 的回复:
引用 4 楼 northwesternwind 的回复:
完全没有理解多态的用处,问题本身就是不着边际的。
啊啊啊啊啊,我突然好想给捋清楚了,多态是传什么样的参数调用什么样的方法达到程序的灵活性,跟super没关系。
多态可以应对现实场景的不同情况,减少代码的重复编写,只需要重写不同部分,相同部分可以沿用,同时还可以扩展新的功能。
silent_xiangyang 2019-09-12
  • 打赏
  • 举报
回复
class A{} class B extends A{} class C extends A{} class Main { call(A a){} main(String[] s){ call(new B()) } } 他不香吗
silent_xiangyang 2019-09-12
  • 打赏
  • 举报
回复
list 的实现 ArrayList 和 LinkedList
至长安 2019-09-12
  • 打赏
  • 举报
回复
引用 7 楼 qq_39936465 的回复:
引用 6 楼 至长安 的回复:
[quote=引用 4 楼 northwesternwind 的回复:]完全没有理解多态的用处,问题本身就是不着边际的。
啊啊啊啊啊,我突然好想给捋清楚了,多态是传什么样的参数调用什么样的方法达到程序的灵活性,跟super没关系。
多态可以应对现实场景的不同情况,减少代码的重复编写,只需要重写不同部分,相同部分可以沿用,同时还可以扩展新的功能。[/quote]谢谢。
至长安 2019-09-11
  • 打赏
  • 举报
回复
引用 4 楼 northwesternwind 的回复:
完全没有理解多态的用处,问题本身就是不着边际的。
啊啊啊啊啊,我突然好想给捋清楚了,多态是传什么样的参数调用什么样的方法达到程序的灵活性,跟super没关系。
至长安 2019-09-11
  • 打赏
  • 举报
回复
引用 4 楼 northwesternwind 的回复:
完全没有理解多态的用处,问题本身就是不着边际的。
我也意识到问题有点不对劲,不知道为什么我一想到super就总想到多态,自学好难,钻这个牛角尖出不去了。
northwesternwind 2019-09-11
  • 打赏
  • 举报
回复
完全没有理解多态的用处,问题本身就是不着边际的。
至长安 2019-09-11
  • 打赏
  • 举报
回复
引用 1 楼 末路〃 的回复:
看看继承吧,能访问本类属性方法是this,,super只能访问父类
这个我学过了,我不懂的是既然可以使用this.访问对象本身的属性方法,也可以用super.访问从父类继承的属性和方法,那为什么还要有多态这种父类型引用指向子类型对象这种机制呢?
追code的人 2019-09-11
  • 打赏
  • 举报
回复
看看继承吧,能访问本类属性方法是this,,super只能访问父类
追code的人 2019-09-11
  • 打赏
  • 举报
回复
看看继承吧,能访问本类属性方法是this,,super只能访问父类

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧