EMF が私を強制した興味深い状況があります。
abstract class AbstractDog{
...
}
public class Dog extends AbstractDog{
< implemented code >
}
public class DogTemplate extends AbstractDog{
< implemented code identical to Dog >
}
Dog と DogTemplate の両方にあるコードは、文字通り同一です (質問しないでください。私たちのシステムは Eclipse に大きく依存しており、これが唯一の方法です)。DogTemplate から Dog にキャストする必要がありますが、java.lang.ClassCastException
そうするとDog d = (Dog) dogTemplateInstance
. この例外が発生する理由は完全に理解していますので、わざわざ理由を言わないでください。
私が知る必要があるのは、このキャストを実現するために 2 つのクラス間の共通の祖先関係を活用する方法があるかどうかです。