package?com.yyh.nuaa;
public?class?Car?{
????//描述車輛的屬性
????protected?static?String?name;
????protected?static?int?cost;
????protected?static?int?passenger;
????protected?static?int?cargo;
????//構(gòu)造方法
????public?Car(String?name,int?cost,int?passenger,int?cargo){
????????this.name?=?name;
????????this.cost?=?cost;
????????this.passenger?=?passenger;
????????this.cargo?=?cargo;
????????//System.out.println("車輛編號(hào)"?+?"\t"?+?"車輛名稱"?+?"\t"?+?"租金"?+?"\t"?+?"載客,貨量");
????}
????public?static?String?getName()?{
????????return?name;
????}
????public?static?int?getCost()?{
????????return?cost;
????}
????public?static?int?getPassenger()?{
????????return?passenger;
????}
????public?static?int?getCargo()?{
????????return?cargo;
????}
}
package?com.yyh.nuaa;
public?class?Car_multi?extends?Car?{
???public?Car_multi(String?name,int?cost,int?passenger,int?cargo){
???????super(name,cost,passenger,cargo);
???????//System.out.println(Car_multi.this.getName()?+?"\t\t"?+?Car_multi.this.getCost()?+?"\t\t"?+?Car_multi.this.getCargo()?+?"噸,"?+?Car_multi.this.getPassenger()?+?"人");
???}
}
package?com.yyh.nuaa;
public?class?Car_passenger?extends?Car?{
????public?Car_passenger(String?name,int?cost,int?passenger,int?cargo){
????????super(name,cost,passenger,cargo);
????????//System.out.println(Car_passenger.this.getName()?+?"\t\t"?+?Car_passenger.this.getCost()?+?"\t\t"?+?Car_passenger.this.getPassenger()?+?"人");
????}
}
package?com.yyh.nuaa;
public?class?Car_truck?extends?Car?{
????public?Car_truck(String?name,int?cost,int?passenger,int?cargo){
????????super(name,cost,passenger,cargo);
????????//System.out.println(Car_truck.this.getName()?+"\t\t"?+?Car_truck.this.getCost()?+?"\t\t"?+?Car_truck.this.getCargo()?+?"噸");
????}
}
package?com.yyh.nuaa;
public?class?Main_car?{
????public?static?void?main(String[]?args)?{
????????Car[]?CarsRented?=?{new?Car_passenger("奧迪A4",500,4,0),
????????????????????????????new?Car_passenger("馬自達(dá)6",400,4,0),
????????????????????????????new?Car_multi("皮卡雪6",450,4,2),
????????????????????????????new?Car_passenger("金龍",800,20,0),
????????????????????????????new?Car_truck("松花江",400,0,5),
????????????????????????????new?Car_truck("依維柯",900,0,20)};
????????for?(int?i?=?0;?i?<?CarsRented.length;?i++)?{
????????????System.out.println(CarsRented[i].getName());
????????}
????}
}
為什么輸出是這樣啊?
0依維柯
1依維柯
2依維柯
3依維柯
4依維柯
5依維柯
2015-01-16
為什么把Car類里的屬性都定義成static,static表示共享的數(shù)據(jù),雖然生成對(duì)象了,但其實(shí)每個(gè)對(duì)象的name值和其他值都是共享的,每生成一個(gè)對(duì)象就修改一次值,所以最好name等變量存放的就是最后一個(gè)對(duì)象的數(shù)據(jù)。把static都去掉試試。