在java中,我需要防止Level1類(請看下面的示例代碼)被派生爲兩個以上的級別。直到Level2和Level3都可以派生,但如果Class是由Level4派生的,則應拋出異常。看下面的代碼示例。java如何防止類被派生超過兩個級別?
代碼示例:
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基類可以計算它派生的級別數量?
這背後的動機是什麼? – 2012-08-08 15:14:49
你應該解釋這樣做的動機,否則你的問題可能會被關閉。 – 2012-08-08 15:15:44
這個巨型巨型WTF代碼可以在螺旋式設計中尖叫。 – 2012-08-08 15:16:12