Javaでは、Level1クラス(次のサンプルコードを参照)が3つ以上のレベルで派生しないようにする必要があります。Level2とLevel3までの派生は問題ありませんが、クラスがLevel4によって派生されている場合は、例外がスローされます。次のコードサンプルを見てください。
コードサンプル:
class Level1 {
private int level = 1;
protected Level1() throws RuntimeException {
level++;
//System.out.println(level);
if (level > 2) {
throw new RuntimeException("Can't implement more than 2 levels");
}
}
}
class Level2 extends Level1 {
protected Level2() {
}
}
class Level3 extends Level2 {
Level3() {
}
}
class Level4 extends Level3 {
Level4() {
}
}
上記のコードサンプルから、静的intレベルカウンターを使用したソリューションを提案していません。私は問題を説明しようとしています。
Javaで、ロジックを実装するか、Level1基本クラスが派生したレベルの数をカウントできるAPIを使用することで可能ですか?