2014-03-04 32 views
1

我想擴展名爲廣場矩形即類,擴展一類矩形

public class Square extends Rect {} 

但是編譯器會抱怨爲「型方不能繼承的最後一類矩形」

有一個工作?

+0

我發現類似的問題在這裏http://stackoverflow.com/questions/16114743/implement-a-subclass-square-that-extends-the-rectangle-class –

+0

你不能擴展'final'類和你也可以使用'Rect'來表示'Square' ... –

+0

很容易得到'Rect'的源代碼,將它用作正方形的模板,並修改'intersects'方法等等。儘管如此,只需在你的代碼中添加一個檢查,當你設置xs和ys時,雙方是平等的,你可以使用'Rect'作爲正方形。 – Simon

回答

2

最終的類不能被子類化。

Rect是最後一堂課。所以不能繼承的矩形類

+0

我沒有定義任何Rect類。剛導入:import android.graphics.Rect; – Shibli

+0

@Shibli它是一個最終的類,你不能擴展它 – Nambi

0

final類不能被擴展

即前

public final class A { 
} 

public class B extends A { 

} 

給出編譯錯誤

可能是相同的白衣類矩形