いくつかの追加機能を追加するために、java.util.Calendar クラスを拡張したいと考えています。
import java.util.Calendar;
abstract class ExtendedCalendar extends Calendar {
public static ExtendedCalendar getInstance()
{
Calendar c = Calendar.getInstance();
return (ExtendedCalendar)c;
}
}
Calendar.getInstance が GregorianCalendar を返すため、常にこの例外が発生します。
java.lang.ClassCastException: java.util.GregorianCalendar cannot be cast to ExtendedCalendar
しかし、GregorianCalendar から Calendar へのキャストがどのように機能する可能性があるのでしょうか?
Calendar calendar = (Calendar)c;
どうすればその問題を解決できますか?