子类调用继承自父类的方法是否使用super分情况:
super是父类空间的引用
1、子类构造函数调用父类构造函数用super
2、子类重写(Override)父类方法后,若想调用父类中被重写的方法,用super
3、未被重写的方法可以直接调用。则不需使用super关键字,可以直接使用this关键字
子类也可以new一个父类对象,然后调用父类方法,并不一定要使用super方法。
另外,子类调用父类的构造方法时,super语句必须是子类构造方法的第一句。
如果子类没有重写父类的方法,调用父类的方法用不用super关键字结果都一样。
如果子类重写父类的方法,调用父类的方法必须用super关键字。
class TestA{
public void a(){
System.out.println("this is TestA a method");
}
public void b(){
System.out.println("this is TestA b method");
}
}
public class TestC extends TestA{
//重写父类b方法
public void b(){
System.out.println("this is TestC b method");
}
public void aa(){
super.a();
a();
}
public void bb(){
super.b();
b();
}
public static void main(String[] args) {
TestC tc = new TestC();
tc.aa();
tc.bb();
}
}