JAVA中、父类和子类的一个问题

 我来答
胡曼彤御楚
2019-01-04 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:622万
展开全部
这是java面向对象的特点。
父类
a
=
new
父类构造方法():创造的是父类本身,没什么特别的地方。
父类
a
=
new
子类构造方法():创造的对象是子类,但是给它的类型是父类标志。始终你要明白一点这个对象是子类,不管它前面的类型是什么。方法的调用也是子类的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
殷念寒缪盈
2019-12-12 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:745万
展开全部
这个问题分几种情况,现在就按情况来分析一下:
1、在子类中调用父类中被子类覆盖的方法:
这个情况就是您说的用super来显示的调用。因为在子类中还有一个和父类同样的方法,如果你只写方法名子,编译器不可能知道你想要掉的是哪个方法,他自作聪明的回去调用子类当中的那个。所以这种情况下,你要用super来显示的说明你要调用的是父类中的方法!
2、在其他类中的调用父类方法:
这种情况就在简单不过了。你创造(New出来的!)的是哪类对象(父类对象或是子类对象)他就会去调用父类或是子类中的相应的方法,这个和多态不冲突!
3、静态方法:
静态方法的调用是和类绑定的,类的静态方法又叫类方法,也就是这个方法是属于这个类的,而不是属于这个类创建出来的某个对象的。所以静态方法的调用要用“类名.静态方法名”来调用!
对了,静态方法的调用是需要在另外一个静态方法中的哦,否则编译会错误的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春秋彤接司
2019-08-25 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:734万
展开全部
如果子类没有重写父类的方法,调用父类的方法的时候,实际上是去父类的内存中实现,可以调用父类方法。
如果子类重写了父类的方法,那么,你虽然上溯造型到了父类,由于内存还是子类,该方法的实现还是在子类,所以用实例化的对象是调用不到父类的,这种情况下,只能用super关键字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式