重写的应用
子类可以根据需要,定义特定于自己的行为。既沿袭了父类的功能名称,又根据子类的需要重新实现父类方法,从 而进行扩展增强。比如新的手机增加来电显示头像的功能,代码如下:
D:\IdeaProjects\basic-code\day08-code\src\cn\itcast\day08\demo06
Phone.java
package cn.itcast.day08.demo06;
// 本来的老款手机
public class Phone {
public void call() {
System.out.println("打电话");
}
public void send() {
System.out.println("发短信");
}
public void show() {
System.out.println("显示号码");
}
}
NewPhone.java
package cn.itcast.day08.demo06;
// 定义一个新手机,使用老手机作为父类
public class NewPhone extends Phone {
@Override
public void show() {
super.show(); // 把父类的show方法拿过来重复利用
// 自己子类再来添加更多内容
System.out.println("显示姓名");
System.out.println("显示头像");
}
}
Demo01Phone.java
package cn.itcast.day08.demo06;
public class Demo01Phone {
public static void main(String[] args) {
Phone phone = new Phone();
phone.call();
phone.send();
phone.show();
System.out.println("==========");
NewPhone newPhone = new NewPhone();
newPhone.call();
newPhone.send();
newPhone.show();
}
}
执行结果:
打电话
发短信
显示号码
==========
打电话
发短信
显示号码
显示姓名
显示头像
新手机类不光继承旧手机的方法,还给show成员方法添加了新的功能,super.show(); // 把父类的show方法拿过来重复利用