2017-02-14 44 views
1

當我看着AppCompatActivity.java來研究API 我發現onSupportActionModeStarted()需要重寫方法來調用super.method(),即使沒有代碼。你有什麼線索嗎?爲什麼我應該在沒有代碼時調用超級

/** 
* Notifies the Activity that a support action mode has been started. 
* Activity subclasses overriding this method should call the superclass implementation. 
* 
* @param mode The new action mode. 
*/ 
@Override 
@CallSuper 
public void onSupportActionModeStarted(@NonNull ActionMode mode) { 
} 

回答

3

今天,沒有什麼onSupportActionModeStarted()AppCompatActivity。通過添加@CallSuper,谷歌說「將來我們可能會在這裏放置代碼,所以請通過超類實現,以便您的應用程序在未來不會中斷」。

+0

在子類中實現AppCompatCallback清除了類的意圖,很容易看出重寫的方法屬於哪裏,所以我想知道爲什麼AppCompatActivity實現它。根據受訪者的意見,您可能認爲開發人員可能會在下一個平臺上使用AppCompatCallback,因此不需要複雜的工作。但這也會影響班級的清晰度。最後,業務的連續性比代碼的清晰度更重要。 –

相關問題