题目
要求 :使用继承、接口、接口多继承实现
父类:Cars
接口:
实现:
100W的宝马,加95#油,油量100%,开始起步,靠边停车
10W的五菱宏光,加92#油,油量100%,开始起步,漂移停车
实现过程
汽车-父类(抽象类)-做不做抽象都可以主要是想顺便练习一下
public abstract class Cars {
public String brand;// 品牌
public double price;// 售价
public Cars(String brand, double price) {
super();
this.brand = brand;
this.price = price;
}
public abstract void show();
}
功能接口
// 作为接口的同时继承接口,接口类可以实现多继承(只能继承其他接口类)
public interface CarsImpl extends CarCheck {
// 起步接口
public void go();
// 停车接口
public void stop();
}
起步接口
public interface CarCheck {
// 加油接口
public void oil(int oil);
// 检测接口
public void oilCheck();
}
宝马-子类
//必须实现接口类所继承的所有接口
public class BMW extends Cars implements CarsImpl {
public BMW(String brand, double price) {
super(brand, price);
}
// 重写父类方法
@Override
public void show() {
System.out.println(price + "W的" + brand);
}
// 重写加油方法
@Override
public void oil(int oil) {
System.out.println("加" + oil + "#油");
}
// 重写检测方法
@Override
public void oilCheck() {
System.out.println("油量100%");
}
// 重写起步方法
@Override
public void go() {
System.out.println("开始起步");
}
// 重写停车方法
@Override
public void stop() {
System.out.println("靠边停车");
}
}
五菱宏光-子类-与宝马类一致
略
实现类
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 创建车辆
BMW bmw = new BMW("宝马", 100);
bmw.show();
System.out.println("加几号油?");
bmw.oil(input.nextInt());
bmw.oilCheck();
bmw.go();
bmw.stop();
}