У меня есть несколько вопросов по поводу этого кода:Добавление объектов различных типов в массиве
общественного класса MainClass {
public static void main(String _args[]) {
// this is a reference variable of type Truck, referring
// an object of type Truck
Truck _firstTruck = new Truck("Volvo", "Generic", "blue", 8000, 20);
// this is a reference variable of type Vehicle, referring
// an object of type Vehicle
Vehicle _firstVehicle = new Vehicle("Bicycle", "red");
// since a Truck is also a Vehicle, we can have
// a reference variable of type Vehicle, referring
// an object of type Truck
Vehicle _secondVehicle = new Truck("Scania", "unknown", "green", 7000, 30);
//better yet, we can do this:
Vehicle _vehicles[] = new Vehicle[3];
_vehicles[0] = _firstTruck; // a truck is a vehicle
_vehicles[1] = _firstVehicle;
_vehicles[2] = _secondVehicle;
for (int i = 0; i < _vehicles.length; i++) {
_vehicles[i].increaseSpeedBy();
}
}
}
Я понимаю, что массив _vehicles [] является типа Vehicle и, следовательно, я не могу добавить объект Truck в массив, не так ли?
_vehicles[1] = _firstVehicle;
_vehicles[2] = _secondVehicle;
Эти двое в порядке, потому что они одного типа (Транспортное средство);
_vehicles[0] = _firstTruck;
- это линия, в которой это неправильно. Таким образом, я сделаю _vehicles [0] типа Truck.
Truck _vehicles[0]=new Truck("","","",0,0);
, а затем просто добавить
_vehicles[0] = _firstTruck;
Является ли мое предположение хорошо?
Кроме того, в примечаниях учителя, я вижу, что я должен сделать это:
_vehicles[0] = new Object();
Может кто-нибудь объяснить это?
Является ли грузовик подклассом транспортного средства, или нет? Это ключевая информация. – paisanco