在 java 中,我需要防止 Level1 类(查看以下示例代码)被派生到两个以上的级别。派生到 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中是否可以通过实现一些逻辑或使用一些API,其中Level1基类可以计算它已经派生的级别数?