子类重写父类的方法的时候,一般会覆盖父类的方法。假如,我们要调用父类的方法,那么我么们该怎么办了。
这个时候,java提供了Super关键字。来实现这个功能。Super关键字代表了父类的对象.
Super.propetry代表了父类的属性
Super.method代表了父类的方法.
Super关键字和this关键字是非常的像的。this代表了本类的对象,Super关键字代表了父类的对象
还是来看看下面的代码吧.
//代码1.
package oop2;
public class Super {
public Super() {
// TODO Auto-generated constructor stub
}
String sayhello() {
return "hellohacker";
}
}
//代码2
package oop2;
public class Super2 extends Super{
public Super2() {
// TODO Auto-generated constructor stub
}
String sayhello() {
return super.sayhello()+"world";
}
}
//demo2
package oop2;
public class demo7 {
public demo7() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
Super test1=new Super();
System.out.println(test1.sayhello());
Super2 test2=new Super2();
System.out.println(test2.sayhello());
}
}
从代码可以看出的就是,子类Super2继承了父类的属性和方法,但是在这里,子类重写了父类了父类的方法sayhello方法之后,就会覆盖掉父类的方法,但是我们要调用父类的方法的时候此时就会用到Super关键字,就像上面的代码那样.Super关键字的使用非常的简单。