package com.DiDi; import java.util.Scanner; public class Test { public void Test() { System.out.println("欢迎使用滴滴租车系统:"); System.out.println("您是否要租车:1 是 2否"); Scanner sc1=new Scanner(System.in); int sc1a=sc1.nextInt(); switch (sc1a) { case 1:{ System.out.println("您可租车的类型及其价目表:"); System.out.println("序号\t汽车名称\t租金\t容量"); Vehicle[] vehicles= {new Car(1, "奥迪A4", 400, 4), new Car(2, "马自达6", 400, 4), new Pickup(3,"皮卡雪",450,4,2), new Car(4, "金龙", 800, 20), new Cargo(5,"松花江", 400,4), new Cargo(6, "依维柯", 1000, 20)}; for(int i=0;i<vehicles.length;i++) { //通过for遍历数组下标的方式输出所能租用的所有车辆的信息 System.out.println(vehicles[i]); } break; } case 2:{ System.out.println("*****感谢使用滴滴租车系统*****"); break; } default:{ System.out.println("*****您输入的信息有误*****"); break; } } } public static void main(String[] args) { // TODO Auto-generated method stub Test aTest=new Test(); aTest.Test(); } } package com.DiDi; public abstract class Vehicle { public static int id; public static String name; public static int price; } package com.DiDi; public class Car extends Vehicle { static int sumManned; public Car(int id,String name,int price,int manned) { Vehicle.id=id; Vehicle.name=name; Vehicle.price=price; Car.sumManned=manned; } @Override public String toString() { return Vehicle.id+"\t"+name+"\t"+price+"\t"+sumManned; } } package com.DiDi; public class Pickup extends Vehicle { static int sumCargo; static int sumManned; public Pickup(int id, String name, int price, int manned, int cargo) { // TODO Auto-generated constructor stub this.id=id; this.name=name; this.price=price; this.sumManned=manned; this.sumCargo=cargo; } @Override public String toString() { return Vehicle.id+"\t"+name+"\t"+price+"\t"+sumManned+"\t"+sumCargo; } } package com.DiDi; public class Cargo extends Vehicle { static int sumCargo; public Cargo(int id, String name, int price, int cargo) { // TODO Auto-generated constructor stub this.id=id; this.name=name; this.price=price; this.sumCargo=cargo; } @Override public String toString() { return Vehicle.id+"\t"+name+"\t"+price+"\t"+sumCargo; } }
如果输出内存的名称值是不同的,加上重写的toString之后遍历的时候输出值都是相同的,请问各位老哥为什么?
慕神2962879
相关分类