2017-02-14 12 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, Google говорит: «В будущем мы можем поставить код здесь, поэтому, пожалуйста, перейдите к реализации суперкласса, чтобы ваше приложение не ломалось в будущем».

+0

Реализация AppCompatCallback в подклассе устраняет намерение класса, и легко увидеть, где находятся переопределенные методы, поэтому мне было интересно, почему AppCompatActivity его реализует. По мнению респондентов, вы можете подумать, что разработчик, скорее всего, будет использовать AppCompatCallback на следующей платформе, так что не требуется сложной работы. Но это также вредит ясности класса. В конце концов, непрерывность бизнеса важнее, чем ясность кода. –

Смежные вопросы