如果子类重写了父类的方法,仍然想在子类中实现父类的方法,可以使用super关键字调用父类属性、方法。
练习1:设计火车类和高铁类,高铁类继承火车类,不管火车类的行进速度是多少,高铁的行进速度永远是火车的2倍。
import java.util.Scanner; class Train{ Double xingshi(double speed){ return speed; } } public class GaoTie extends Train{ Double xingshi(double speed){ speed= super.xingshi(speed) *2; return speed ; } public static void main(String[] args){ double speed; Train t=new Train(); Scanner sc=new Scanner(System.in); System.out.println("请输入当前火车的行驶速度:"); speed=sc.nextDouble(); System.out.println("当前火车的行驶速度是"+t.xingshi(speed)+"km/h"); GaoTie gt=new GaoTie(); System.out.println("当前高铁的行驶速度是"+gt.xingshi(speed)+"km/h"); } }
练习2:设计人类,有一个自我介绍的方法,输出“我是XXX”;设计博士类,继承人类,博士类自我介绍时输出"我是XXX博士";
class Person{ String introduce_myself(){ return "我是XXX"; } } public class Doctor extends Person{ String introduce_myself(){ return super.introduce_myself()+"博士"; } public static void main(String[] args){ Person p=new Person(); System.out.println(p.introduce_myself()); Doctor d=new Doctor(); System.out.println(d.introduce_myself()); } }