2012-07-23 79 views
0

可能重複:
Overriding vs Hiding Java - Confused方法在Java中隱藏

能有人請解釋方法hididng在Java中有一個例子,爲什麼我們使用方法隱藏?

我讀甲骨文的教程,但無法理解。

+7

你能不能給我們帶來什麼你不教程明白,你到底是怎麼回事的解釋以及具體的例子嗎? – 2012-07-23 15:04:38

+0

什麼方法隱藏做到完全和我們爲什麼使用它? – 2012-07-23 15:05:19

+0

**當您希望根據您的需要靈活地調用超類方法或子類方法時,必須使用方法隱藏**。 **當你的超類方法不需要執行時,覆蓋**被使用。也就是說,如果你認爲這一點,你的超類方法對你來說沒有什麼用處,而你的子類方法可以滿足所有的要求,那麼就去實現方法重寫。 – Lion 2012-07-23 15:06:38

回答

0

當你在超類的靜態方法,如果你創建在子類相同簽名的方法,超類的方法將被調用,如果你使用的是超類的引用和子類的方法被調用,如果你正在使用子類引用。

+0

這是錯誤的 - 它不適用於靜態,您不能隱藏靜態方法,因爲您無法繼承它。 – Romain 2012-07-23 15:11:46

+1

@Romain:您可能想檢查已鏈接的教程。它本身表示,隱藏將* only *應用於靜態(他們說「類方法」,而不是非靜態的「實例方法」)。可能是Java特有的,但這就是他們如何使用這個詞。它與C#的'new'和VB的'Shadows'如何工作是一致的,儘管它們(不同於Java)使得實例方法默認爲非虛擬的。 – cHao 2012-07-23 15:15:58