Основываясь на моем более старом вопросе Link, я работаю чтобы узнать больше о Casting и Instanceof. Это основано на сценарии, описанном в книге HeadFirst.
Итак, в основном у меня теперь есть новый класс (гибрид), который наследует от моего класса транспортного средства, что я пытаюсь сделать, это создать гибридный объект для отображения дополнительной информации, которая приходит с гибридом. Он соответствует, но на самом деле не дает мне никакого представления о том, что вызывает ошибку, за исключением того, что он просто заканчивается на линии, которую я отметил.
public class ShowroomDriver {
public static void main(String[] args) {
Showroom cars = new Showroom("Cars");
Hybrid hybrid1 = new Hybrid("Toyota Prius", "Focus", "John Smith", "TOTAP453453987346283",
getCalendar(2,3,1998), getCalendar(24,2,2012),
"Right Hand",//Hybrid Only Info Edit: Forgot to commentout
true,
'C',
650, 82.0); //Cost & (Hybrid MPG)
cars.addVechicle(hybrid1);
cars.getVechicles();
Гибридный класс
import java.util.Calendar;
public class Hybrid extends Vehicle{
private double consumption;
private String drive;
public Hybrid(String Manufacture, String Model, String CustomerName, String Vin,
Calendar DateManufactured, Calendar Datesold, String Drive,
boolean HasbeenSold,
char TaxBand,
double Cost, double Consumption){
super(Manufacture, Model, CustomerName, Vin, DateManufactured, Datesold,
HasbeenSold,
TaxBand,
Cost);
this.consumption = Consumption;
this.drive = Drive;
}
public Double getConsumption() { return this.consumption; }
public String getDrive() { return this.drive; }
}
Новый метод транспортного средства
public void displayDetails(){
for(int i = 0; i <cars.theVehicles.size(); i++){
if(this.cars.theVehicles.get(i) instanceof Hybrid){//Error here
Hybrid thehybrids = (Hybrid)this.cars.theVehicles.get(i);
System.out.println("Consumption: " + thehybrids.getConsumption()+ "\n" +
"Drive: " + thehybrids.getDrive());
}
}
}
(Hybrid Only Info) true
??? - person Rohit Jain   schedule 11.11.2012cars
, либоcars.theVehicles
, либо один из элементов вcars.theVehicles
равен нулю. В любом случае это не имеет ничего общего с кастингом или instanceof. - person biziclop   schedule 11.11.2012