Hi, ich habe folgenden Code
1. Mein Interface iVehicle
2. ein IVehicile objekt und die Methode setVehicle
3. Meine Main die in der selben Klasse wie setVehicle ist und und setVehicle mit drei verschiedenen Klassen anspricht die IVehicle implementieren
Der erste Aufruf von setVehicle funktioniert gut.
Wie schaffe ich es das der Code auch bei den letzten beiden Aufrufen funktioniert?
Ich bekomme folgendes sobald setVehicle(new Car()) aufgerufen wird.
An sich verstehe ich warum der Fehler auftaucht. Aber wie kann ich ihn umgehen?
1. Mein Interface iVehicle
Java:
public interface IVehicle {
String getName();
int getSeats();
void setVehicle(String name, int seats);
}
2. ein IVehicile objekt und die Methode setVehicle
Java:
static IVehicle _ivehicle;
public static void setVehicle(IVehicle ivehicle) {
_ivehicle = ivehicle;
Bike bike = (Bike)ivehicle;
}
3. Meine Main die in der selben Klasse wie setVehicle ist und und setVehicle mit drei verschiedenen Klassen anspricht die IVehicle implementieren
Java:
public static void main(String[] args) {
setVehicle(new Bike());
setVehicle(new Car());
setVehicle(new Airplane());
}
Der erste Aufruf von setVehicle funktioniert gut.
Wie schaffe ich es das der Code auch bei den letzten beiden Aufrufen funktioniert?
Ich bekomme folgendes sobald setVehicle(new Car()) aufgerufen wird.
Java:
Exception in thread "main" java.lang.ClassCastException: Car cannot be cast to Bike
An sich verstehe ich warum der Fehler auftaucht. Aber wie kann ich ihn umgehen?