父类Car
public class Car {
private int number;
private String carName;
private int price;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
货车接口
public interface IZaiHuo {
public void setHuo(int huo);
public int getHuo();
}
客车接口
public interface IZaiRen {
public void setPerson(int person);
public int getPerson();
}
货车类
public class HuoChe extends Car implements IZaiHuo{
private int huo;
public HuoChe(int number,String name,int price,int huo){
super.setNumber(number);
super.setCarName(name);
super.setPrice(price);
this.setHuo(huo);
}
@Override
public void setHuo(int huo) {
// TODO 自动生成的方法存根
this.huo=huo;
}
@Override
public int getHuo() {
// TODO 自动生成的方法存根
return huo;
}
@Override
public String toString() {
return super.getNumber()+" "+super.getCarName()+'\t'+super.getPrice()+"元/天"+'\t'+"载货:"+this.getHuo()+"吨";
}
}
客车类:
public class KeChe extends Car implements IZaiRen{
private int person;
public KeChe(int number,String name,int price,int person){
super.setNumber(number);
super.setCarName(name);
super.setPrice(price);
this.setPerson(person);
}
@Override
public void setPerson(int person) {
// TODO 自动生成的方法存根
this.person=person;
}
@Override
public int getPerson() {
// TODO 自动生成的方法存根
return person;
}
@Override
public String toString() {
return super.getNumber()+" "+super.getCarName()+'\t'+super.getPrice()+"元/天"+'\t'+"载人:"+this.person+"人";
}
}
皮卡类
public class PiKa extends Car implements IZaiHuo,IZaiRen{
private int huo;
private int person;
public PiKa(int number,String name,int price,int person,int huo){
super.setNumber(number);
super.setCarName(name);
super.setPrice(price);
this.setPerson(person);
this.setHuo(huo);
}
@Override
public void setPerson(int person) {
// TODO 自动生成的方法存根
this.person=person;
}
@Override
public int getPerson() {
// TODO 自动生成的方法存根
return person;
}
@Override
public void setHuo(int huo) {
// TODO 自动生成的方法存根
this.huo=huo;
}
@Override
public int getHuo() {
// TODO 自动生成的方法存根
return huo;
}
@Override
public String toString() {
// TODO 自动生成的方法存根
return super.getNumber()+super.getCarName()+'\t'+super.getPrice()+"元/天"+'\t'+"载人:"+this.getPerson()+"人 载货:"+this.getHuo()+"吨";
}
}
测试类
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Car[] cars={new KeChe(1, "奥迪A4", 500, 4),new KeChe(2, "马自达6", 400, 4),new PiKa(3, "皮卡雪6", 450, 4, 2),new KeChe(4, "金龙", 800, 20),new HuoChe(5, "松花江", 400, 4),new HuoChe(6, "依维柯", 1000, 20)};
Scanner scanner=new Scanner(System.in);
System.out.println("欢迎使用答答租车系统"+'\n'+"您是否要租车:1是 0否");
int zuche=scanner.nextInt();
if (zuche!=1) {
System.out.println("欢迎您下次使用");
System.exit(0);
} else {
System.out.println("您可租车的类型及其价目表:"+'\n'+"序号 汽车名称 租金 容量");
for (int i = 0; i < cars.length; i++) {
System.out.println(cars[i]);
}
System.out.println("请输入您要租车的数量");
int sum=scanner.nextInt();
String zaiRen="";
String zaiHuo="";
int sumPerson=0;
int sumHuo=0;
int sumPrice=0;
for(int i=1;i<=sum;i++){
System.out.println("请输入第"+i+"辆车的序号:");
int j=scanner.nextInt()-1;
if (cars[j].getClass()==HuoChe.class) {
zaiHuo+=cars[j].getCarName()+'\t';
sumPrice+=cars[j].getPrice();
sumHuo+=((HuoChe) cars[j]).getHuo();
}else if(cars[j].getClass()==KeChe.class){
zaiRen+=cars[j].getCarName()+'\t';
sumPrice+=cars[j].getPrice();
sumPerson+=((KeChe) cars[j]).getPerson();
}else if(cars[j].getClass()==PiKa.class){
zaiHuo+=cars[j].getCarName()+'\t';
zaiRen+=cars[j].getCarName()+'\t';
sumPerson+=((PiKa) cars[j]).getPerson();
sumHuo+=((PiKa) cars[j]).getHuo();
sumPrice+=cars[j].getPrice();
}
}
System.out.println("请输入租车天数:");
int tianShu=scanner.nextInt();
System.out.println("您的账单:");
System.out.println("***可载人的车有:"+zaiRen+"共载:"+sumPerson+"人");
System.out.println("***载货的车有:"+zaiHuo+"共载货:"+sumHuo+"吨");
System.out.println("***租车的总价格:"+sumPrice*tianShu);
}
}
}
热门评论
我能说什么呢,只看完第二季的人不存在看的懂的,不说接口是在第三季吧,你还有反射那一块的类类型