Могу ли я расширить класс и переопределить закрытый тип перечисления?

Если у меня есть класс, содержащий тип 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();
15
задан Idolon 3 May 2012 в 08:09
поделиться