1.访问父类中的方法
我们来看这两个例子:
例子1:
public class maincla {
public static void main(String[] args) {
sontest son=new sontest();
son.drink();
}
}
class test{
void eat(){
System.out.println("父类说我要吃东西");
}
}
class sontest extends test{
void eat(){
System.out.println("子类说我要吃东西");
}
void drink(){
eat();
}
}
在这个代码块里面我们创建了一个sontest类的实例,然后调用了实例的drink方法,所以执行eat方法,在这里输出的是:
可以很明显看到调用的是和drink同属于一个类下面的eat函数,即子类的eat方法。
例子2:
public class maincla {
public static void main(String[] args) {
sontest son=new sontest();
son.drink();
}
}
class test{
void eat(){
System.out.println("父类说我要吃东西");
}
}
class sontest extends test{
void eat(){
System.out.println("子类说我要吃东西");
}
void drink(){
super.eat();
}
}
这段代码和上面那段唯一不一样的是sontest类的drink方法中调用eat方法之前加了super,所以调用的是父类的eat方法,输出也肯定是:
综上所述,super的作用之一就是:调用父类中的方法
格式:super.xxx()
注:xxx()为父类中的方法