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();
}
} 展开
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();
}
} 展开
5个回答
展开全部
方法重写
(1)方法重写(override)[也叫方法覆盖]是指在子类继承父类后,子类中存在与父类同名的方法情况。
方法重写的条件
(1)子类方法的名称,参数签名,返回值类型,必须与父类方法的名称,参数签名,返回值类型相同。
(2)子类的方法不能缩小父类的方法访问权限。
(3)子类方法不能抛出比父类方法更多的异常。
(4)方法的重写只能存在于子类和父类之间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A a = new A(); //子类继承父类的方法的重写后,为什么不能单独调用父类的方法?
a.tell();
这么调用是没有问题的,父类对象调用父类的方法。
a.tell();
这么调用是没有问题的,父类对象调用父类的方法。
追问
我这里为什么会提示这个?
The method tell() is undefined for the type Extendscb04
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-03-12
展开全部
可以啊,我的电脑上没问题。
追问
我的电脑上不行啊,我再试一下
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
兄弟啊。 a.tell() 调用的就是父类的方法,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询