2015-06-11 35 views
-6

我有兩個子類CarTruck的公共類Vehicle,每個類擴展Vehicle。每個班級的構造函數與3個領域,顏色,品牌和耗油量相同。存儲具有多個字段的對象的Java數組

我已經聲明數組

Vehicle [] vehArray = new Vehicle[6]; 

將存儲6輛不同的車輛。我知道一個電話

Car car1 = new Car("Red", "Ford", 15); 

將實例car1Car類型的對象。

如何將car1存儲在vehArray[0]

+3

你可以做'vehArray [0] = car1' ..... –

+1

投票結果爲質量很低。嚴重的是,在提出問題之前進行一些最低限度的背景研究。 – zubergu

+0

爲什麼downvotes?這是一個有效的問題。 – NickJ

回答

3

嘗試做這樣的事情:

vehArray[0] = car1; 
+0

是否可以做Car vehArray [0] = new Car (「紅」,「福特」,15);? – gbm

+0

是的,我認爲它也應該工作,只是如果你不確定就試試。編譯器會報錯,如果它不工作=) –

+0

夥計們,我只是回答錯了什麼?爲什麼downvotes? –

0

最短的方法是:

vehArray [0] = new Car("Red", "Ford", 15); 
0

甚至

Vehicle[] vehArray = new Vehicle[]{new Car("Red", "Ford", 15), new Truck("Silver", "Mercedes", 2)}; 
0

如下;

1)Test.java;


public class Test { 

    public static void main(String[] args) { 

     //Array Initialization with null Vehicle placeholders 
     Vehicle[] vehicleArray = new Vehicle[6]; 

     //Car class object instances are assiged 
     for(int i = 0; i < vehicleArray.length; i++) 
      vehicleArray[i] = new Car("Red", "Ford", 15+i); 

     for(int i = 0; i < vehicleArray.length; i++) 
      System.out.println 
       (
        i + 
        " : " + vehicleArray[i].getColor() + 
        " : " + vehicleArray[i].getBrand() + 
        " : " + vehicleArray[i].getGasMilage() 
       ); 
    } 

} 

2)Vehicle.java


public class Vehicle { 

    private String color; 
    private String brand; 
    private int gasMilage; 

    public Vehicle() {} 

    //Constructor with fields 
    public Vehicle(String color, String brand, int gasMilage) { 
     this.color = color; 
     this.brand = brand; 
     this.gasMilage = gasMilage; 
    } 

    public String getColor() { 
     return color; 
    } 

    public void setColor(String color) { 
     this.color = color; 
    } 

    public String getBrand() { 
     return brand; 
    } 

    public void setBrand(String brand) { 
     this.brand = brand; 
    } 

    public int getGasMilage() { 
     return gasMilage; 
    } 

    public void setGasMilage(int gasMilage) { 
     this.gasMilage = gasMilage; 
    } 

} 

3)Car.java


public class Car extends Vehicle { 

    //no-arg constructor 
    public Car() { 
     super(); 
    } 

    //field constructor 
    public Car(String color, String brand, int gasMilage) { 
     super(color, brand, gasMilage); 
    } 

} 

4)Truck.java


public class Truck extends Vehicle { 

    //no-arg constructor 
    public Truck() { 
     super(); 
    } 

    //field constructor 
    public Truck(String color, String brand, int gasMilage) { 
     super(color, brand, gasMilage); 
    } 

} 
0

我建議聲明子類的所有對象的第一話,就可以存儲在車輛像這樣:

Vehicle[] vehicleArray = {ob1,ob2,ob3,ob4,andSo_On}; 
相關問題