Java oop 学习笔记:方法的重写

在Java的继承中,子类既可以隐藏和访问父类的方法,也可以覆盖继承父类的方法。在Java中覆盖继承父类的方法是通过方法的重写来实现的。所谓方法的重写是指子类中的方法与父类中继承的方法有完全相同的返回值类型、方法名、参数个数以及参数类型。这样,就可以实现对父类方法的覆盖。
类方法的覆盖
注意:JDK 1.5以后的版本中,子类覆盖父类的方法时,覆盖方法的返回值类型可以是原来返回类型的子类型。
public class Car3 extends Vehicle{
/ *车启动的方法:*/
public void start(){
System. out.println("The car start")//打印输出括号中的语句
}
/ *车停止的方法:*/
public void stop( ){
System. out.println("The car stop ");/打印输出车的停止信息
}
此时在main ()方法中调用start ()方法和stop () 方法。
public static void main(String [] args){
Car C =new Car();//创建一个Car对象
c.start();
c.stop();
//调用子类的stop方法
}
其运行结果可以看出,当子类重写了父类中的start () 方法和stop () 方法后,使用c调用的是子类的start ()方法和stop ()方法,父类Vehicle中的方法被覆盖了。但是有些时候需要调用父类中被赋盖的方法,这时就需要使用super关键字。使用super关键字调用父类方法的语法如下:
super .Method( [paramlist]);
其中,Method是需要调用的父类的方法,paramlist是参 数列表(如果被调用的方法存在参数)。例如上面的例子中,如stop () 方法,可以在类Car2中的printInfo ()方法中添加如下的语句。
public void printInfo (){
super .start( );// 调用父类的start方法
super . stop();// 调用父类的stop方法
}