내 ArrayList 내부의 객체를 반복하고 인쇄하는 좋은 방법을 찾으려고합니다.객체가있는 수퍼 클래스의 필드에 연결할 수 없습니다.
문제는 내가 사용자가 개체의 정보 (예 : 색상 및 브랜드)를 입력하는 필드에 도달하지 못하는 것입니다.
Vehicle C = new Car(4, "Blue", "Honda");
자동차 (및 자전거, 버스 등 다른 클래스) 차량의 서브 클래스 :
객체의 새로운 인스턴스는 다음과 같습니다.
Vehicle 클래스 :
public class Vehicle {
public int pass = 0;
public int cost = 0;
public int size = 0;
public String brand = "";
public String color = "";
public Vehicle(){}
}
Car 클래스 :
public class Car extends Vehicle{
// constructor
public Car(int passengers, String col, String brandOfVehicle){
if (passengers < 0 || passengers > 4){
throw new IllegalArgumentException();
}else
pass = passengers;
cost += pass*15 + 100;
size = 5;
color = col;
brand = brandOfVehicle;
}
} 객체를 반복하려고 :
Iterator<Object> it = Ferry.iterator();
while(it.hasNext()){
Object i = it.next();
System.out.println(i + " ");
}
W를 개체를 반복하는 암탉은 i.color에서와 같이 색과 브랜드 문자열에 도달하고 싶습니다. 하지만 나는 그것이 새로운 Object 인 것 같기 때문에 자동차, 버스 등과 관련된 필드와 메서드에 대한 액세스를 얻지 못했을 것입니다.
이 문제를 해결할 수있는 방법이 있습니까? 아니면 실제 문제가 아닌가?
아마도 내 모든 객체가 Ferry –