比如:super.query()
此句话的意思是调用父类中的非私有方法query。
一般的用super关键字,调用类中的父类中重载构造方法。
比如:父类有个构造方法public
A(){},同时又写了一个重载的构造方法public
A(String
name)那么,在子类中可以使用super(name)指明调用父类的哪个构造方法进行实例化父类对象。
大概就是这样的!
1、如果是多态,只能通过super的方式调用基类方法,具体决定于父类是否覆盖了父类的父类方法,如果父类的方法覆盖了父类的父类,则super无法调用到父类的父类方法。如果父类的方法没有覆盖父类的父类,则super可以调用到父类的父类方法。
public class A{//定义类Apublic void show(){
}
}
public class B extends A{//定义子类B,继承类A
public void show(){
super.show()//调用父类A的方法show
}
}
2、如果不是多态,则可以直接访问方法名就能够访问到父类的父类方法
public class A{//定义类Apublic void show(){
}
}
public class B extends A{//定义子类B,继承类A
public void me(){
show()//调用的是父类A中定义的show方法
}
}