Если у меня есть класс, содержащий тип enum
, могу ли я расширить этот класс и переопределить тип перечисления или добавить больше константы в это перечисление?
Цель состоит в том, чтобы пользователь мог вызвать метод getColor ()
, не зная, принадлежит ли динамический объект базовому или производному классу.
Например:
public class Car {
private String name;
private CarColors color;
public enum CarColors {
BLUE,
GREEN
}
public Car(CarColors c) {
color=c;
}
public CarColors getColor() {
return color;
}
}
public class RacingCar extends Car {
private CarColors color;
public RacingCar(CarColors c) {
color=c;
}
public enum CarColors {
BLUE,
GREEN,
RED
}
@Override //?????
public CarColors getColor() {
return color;
}
}
и в основном:
Car racingCar = new RacingCar();
CarColors color = racingCar.getColor();