Java入门问题,方法的重写

子类继承父类的方法的重写后,为什么不能单独调用父类的方法?packagecom.cb.extendscb;classA{publicvoidtell(){System.o... 子类继承父类的方法的重写后,为什么不能单独调用父类的方法?
package com.cb.extendscb;
class A{
public void tell(){
System.out.println("tell方法");
}
void say(){ //default方法
}
}
class B extends A{
public void tell(){
super.tell(); //强行调用父类的方法的执行
System.out.println("重写tell方法");
}
// private void say(){ //比父类中的方法访问权限低,不可重写
}
public class Extendscb04 {
public static void main(String[] args) {

A a = new A(); //子类继承父类的方法的重写后,为什么不能单独调用父类的方法?
a.tell();
//B b = new B();
//b.tell();
}
}
展开
 我来答
pieryon
2015-06-15 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
方法重写(overiding method)
在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
198901245631
2015-07-04 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1739万
展开全部
  • 方法重写

(1)方法重写(override)[也叫方法覆盖]是指在子类继承父类后,子类中存在与父类同名的方法情况。

  • 方法重写的条件

(1)子类方法的名称,参数签名,返回值类型,必须与父类方法的名称,参数签名,返回值类型相同。

(2)子类的方法不能缩小父类的方法访问权限。

(3)子类方法不能抛出比父类方法更多的异常。

(4)方法的重写只能存在于子类和父类之间。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjj_zhu
2015-03-12
知道答主
回答量:2
采纳率:0%
帮助的人:2523
展开全部
A a = new A(); //子类继承父类的方法的重写后,为什么不能单独调用父类的方法?
a.tell();

这么调用是没有问题的,父类对象调用父类的方法。
追问
我这里为什么会提示这个?
The method tell() is undefined for the type Extendscb04
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-03-12
展开全部
可以啊,我的电脑上没问题。
追问
我的电脑上不行啊,我再试一下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a4705858f
2015-03-12 · 超过15用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:30.9万
展开全部
兄弟啊。 a.tell() 调用的就是父类的方法,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式