子类要调用父类的方法,必须使用super关键字.对吗?
答案:3 悬赏:10
解决时间 2021-01-29 04:11
- 提问者网友:像風在裏
- 2021-01-28 14:43
子类要调用父类的方法,必须使用super关键字.对吗?
最佳答案
- 二级知识专家网友:人间朝暮
- 2021-01-28 16:03
不需要,但是如果你子类如果重写了父类的方法,那么在你想掉父类的方法的时候就必须写成super.method()这种方式了
全部回答
- 1楼网友:woshuo
- 2021-01-28 16:21
不对~~~~~~~~
在调用或重载父类的构造方法时才要
在调用或重载父类的构造方法时才要
- 2楼网友:枭雄戏美人
- 2021-01-28 16:11
在继承结构里面,为了保护封闭原则,通常子类以继承之后,子类可以直接调用父类非私有方法,也就是除了private修饰的方法。
从多太的角度来看,子类是可以继承父类的方法,如果一个子类继承了父类的方法,那么不用super关键字就是调用本类的方法,如果想调用父类的话就要加super。
比如:
publicabstract class TestA(){
public void a(){
System.out.println("this is a method.");
}
protected void b(){
System.out.println("this is b method.");
}
private void c(){
System.out.println("this is c method.");
}
}
public classTestC extends TestA(){
//该方法为子类方法,非父类方法。
public void aa(){
super.a(); //Yes
a():// Yes 等同 super.a();
super.b(); //Yes
b(); //Yes 等同super.b();
super.c(); // no 访问不到。
c(); // NO 访问不到。
}
//覆盖父类方法
protected void b(){
System.out.println("this is TestCb method.");
}
public void d(){
b(); //调用本类的方法
super.b(); //调用父类的方法
}
}
从多太的角度来看,子类是可以继承父类的方法,如果一个子类继承了父类的方法,那么不用super关键字就是调用本类的方法,如果想调用父类的话就要加super。
比如:
publicabstract class TestA(){
public void a(){
System.out.println("this is a method.");
}
protected void b(){
System.out.println("this is b method.");
}
private void c(){
System.out.println("this is c method.");
}
}
public classTestC extends TestA(){
//该方法为子类方法,非父类方法。
public void aa(){
super.a(); //Yes
a():// Yes 等同 super.a();
super.b(); //Yes
b(); //Yes 等同super.b();
super.c(); // no 访问不到。
c(); // NO 访问不到。
}
//覆盖父类方法
protected void b(){
System.out.println("this is TestCb method.");
}
public void d(){
b(); //调用本类的方法
super.b(); //调用父类的方法
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯