staic 方法在繼承時重寫的一點認識

2021-08-30 16:58:24 字數 733 閱讀 8851

我先給出一段**,你可以測試一下輸出的結果是什麼,和你想的是不是一樣,如果是一樣的,或許我寫的東西不會給你帶來任何幫助,若不是,到可以看看,我們可以共同**……

class friut

string getfs()

}string getfs()

static string getfc()

public static void main(string arg)

}我給出這段**的輸出結果:yellowbig

疑問來自這裡

system.out.print(f.getfc());

為什麼它呼叫的事父類中的方法

system.out.print(f.getfs());

為什麼他呼叫的是子類中的方法

他是用父類宣告,子類來例項化,這是類的強制轉化的一種。

我們可以先想一想靜態變數和方法與普通變數和方法的區別,可知,靜態的是屬於類的,在類宣告的時候即存在,普通的是屬於物件的,需要例項化物件。

f.getfc()就是呼叫父類中的靜態的方法,

f.getfs()就是呼叫子類中的普通方法,

當然,如果你用的是eclipse你可以在子類的

string getfc()

方法前加@override你會看到什麼, 如果你沒有試,我就告訴你吧,會說此方法必須覆蓋超類中的方法,所以你也可以理解為,靜態方法是不可以重寫的,當然,你也可以執行,但是你就要清楚的知道,它是呼叫父類,還是子類中的方法了。……

在繼承中重寫方法時丟擲異常的問題

父類有方法fun 子類重寫了該方法。父類的方法需要丟擲異常,子類的方法是否要同樣丟擲異常?丟擲同樣的異常?能否丟擲父類沒有的異常?還是一定要丟擲父類所丟擲異常範圍內的異常?記住兩句話 1.子類重寫父類方法要丟擲與父類一致的異常,或者不丟擲異常 2.子類重寫父類方法所丟擲的異常不能超過父類的範疇 下面...

在繼承中重寫方法時丟擲異常的問題

在繼承中重寫方法時丟擲異常的問題 父類有方法fun 子類重寫了該方法。父類的方法需要丟擲異常,子類的方法是否要同樣丟擲異常?丟擲同樣的異常?能否丟擲父類沒有的異常?還是一定要丟擲父類所丟擲異常範圍內的異常?記住兩句話 1,子類重寫父類方法要丟擲與父類一致的異常,或者不丟擲異常 2,子類重寫父類方法所...

繼承,方法的重寫

1 子類繼承父類的哪些東西?1.繼承public和protected修飾的屬性和方法,不管子類和父類是否在同乙個包裡。2.繼承預設許可權修飾符修飾的屬性和方法,但子類和父類必須在同乙個包裡。3.子類不能繼承父類中的私有屬性和方法。4.子類不能繼承父類的構造方法,子類能夠呼叫父類的構造方法。2 sup...