方法重写若调用的变量在父类和子类中都有,即继承的成员变量被隐藏,重写的方法调用哪一个

Java中... Java中 展开
 我来答
刮刮清风
推荐于2017-10-06 · TA获得超过608个赞
知道小有建树答主
回答量:88
采纳率:100%
帮助的人:87.4万
展开全部
举个例子
class AA {
int num = 6;

int getNum() {
return num;
}
}

class B extends AA {
int num = 9;

int getNum() {
System.out.println(num);
return num;
}
public static void main(String[] args) {
AA a = new B();
System.out.println(a.getNum());
System.out.println(a.num);
}
}
看下输出结果是
9
9
6

变量是不支持动态绑定,方法是动态绑定的, a绑定的是 B类的方法 getNum()
但是我们在方法里面调用的参数指向的是this.num,也就是9,
所以调用的会是B里面的num, 也就是9
但是直接输出a.num的话, 编译时期就绑定了6 所以是6
匿名用户
2012-06-12
展开全部
子类中的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式