java面试题,请问B类继承A类,而且B类中重写A的方法,请问B中重写的方法可以覆盖了A的方法吗?why?

 我来答
帅惜玉sh
推荐于2016-08-29 · TA获得超过243个赞
知道小有建树答主
回答量:343
采纳率:100%
帮助的人:303万
展开全部
覆盖了 你看下面的代码 数据数据的结果是:
Dervied tell name: null
Dervied print name: null
Dervied tell name: dervied
Dervied print name: dervied

public class Dervied extends Base {

private String name = "dervied";

public Dervied() {
tellName();
printName();
}

public void tellName() {
System.out.println("Dervied tell name: " + name);
}

public void printName() {
System.out.println("Dervied print name: " + name);
}

public static void main(String[] args){

new Dervied();
}
}

class Base {

private String name = "base";

public Base() {
tellName();
printName();
}

public void tellName() {
System.out.println("Base tell name: " + name);
}

public void printName() {
System.out.println("Base print name: " + name);
}
}
追问
哈哈,其实我自己也写代码验证过了,就是不知道为什么而已
追答
其实你就 把继承当做 是  把父类的 方法复制到 子类    当然 私有的除外
凹凸丨凹凸
2015-01-30 · 超过12用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:18.8万
展开全部
可以覆盖,没有为什么,你在B中调用方法的时候,肯定是调用的重写的方法
追问
好吧,应该就是这个道理吧,直接调用了重写的方法
追答
假如调用方法是a();直接调用的话,因为是在B类中,默认是B.a()。你用A.a()试试,应该是父类的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
掌上悦客个人
2015-01-30 · TA获得超过357个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:113万
展开全部
应该是可以啊
追问
大哥,why,还有什么叫应该呀
追答
既然是重写了就是把父类的方法覆盖了呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式