缺陷 覆蓋 私有方法

2021-08-29 15:28:42 字數 398 閱讀 1816

public calss privateoverride

public static void main(string args)

}class derived extends privateoverride}/*

output:

private f()

*///~

我們所希望的是輸出public f(),但是由於private方法被自動認為是final方法,而且對匯出類是遮蔽的。因此,在這種情況下,derived類中的f()方法就是乙個全新的方法,既然基類中的f()方法在子類derived中不可見,因此甚至也不能被過載。

結論就是:只有非private方法才可以被覆蓋;確切地說,在匯出類中,對於基類中的private方法,最好採用不同的名字。

陷阱 「覆蓋」 私有方法

public class privateoverride public static void main string args class derivedclass extends privateoverride 輸出結果為 private f private方法被自動認為是final方法,而且對...

Python 私有方法,專有方法

python的私有方法 以 雙劃線開頭,但不以雙劃線結尾,privatemethod 專有方法 以雙劃線開頭和結尾,init e.gclass person def init self,name self.name person def getname self return self.name a...

私有變數和私有方法

person.h oc語言學習 import 例項變數 成員變數 既可以在 inte ce中定義,也可以在 implementation中定義 inte ce person nsobject 如果只有方法的實現,沒有方法的宣告,那麼該方法就是私有方法 但是在oc中沒有真正的私有方法,因為oc是訊息機...