/**
- 接口 和absract类的使用
- @author BO
*/
abstract class MotorVehicles{
//定义抽象类
abstract void broke();//子类必须重写父类的方法 }
interface MoneyFare{//定义接口
//默认为抽象方法, 不能用 final 或 static修饰符修饰
void charge();//等价于 public abstract void charge();
}
interface ControlTemperature{
void controlAirTemperature();
}
//定义 bus 继承自 mot 实现了 mon
class Bus extends MotorVehicles implements MoneyFare{
void broke(){//重写父类的方法
System.out.println("公交车!!!!");
}
public void charge(){//实现接口函数
System.out.println("收费是1元钱!!!");
}
}
class Taxi extends MotorVehicles implements MoneyFare,ControlTemperature{
public void charge(){
System.out.println("起步价 10块钱");
}
public void controlAirTemperature(){
System.out.println("这个车有空调");
}
void broke(){
System.out.println("Taxi");
}
}
class Cinema implements MoneyFare,ControlTemperature{
public void charge(){
System.out.println("看电影不贵,快来");
}
public void controlAirTemperature(){
System.out.println("电影院也有空调");
}
}
public class Implem {
public static void main(String[] args) {
Bus bus = new Bus();
Taxi taxi = new Taxi();
Cinema cinema = new Cinema();
bus.broke();
bus.charge();
taxi.broke();
taxi.charge();
taxi.controlAirTemperature();
cinema.charge();
cinema.controlAirTemperature();
}
}