我对Androids onCreate方法有疑问。我知道Activity已经扩展,onCreate()
是在Android开发人员指导状态(http://developer.android.com/reference/android/app/Activity.html上的类概述)时实现的。但为什么我们使用@Override
?而且如果我想参考那个方法我应该使用哪个词?我应该说onCreate() is Overrided
还是onCreate() is implemented
?
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
答案 0 :(得分:2)
onCreate
被"被覆盖"因为Activity有一个现有的实现,您的类MainActivity
正在替换它自己的实现。你会说"实施"如果方法仅在接口中声明,但超级类中没有实现,则替换。
注释@Override
是编译器的可选(但推荐)提示,以下方法签名必须存在于您正在扩展的超类或接口中。如果不是这种情况,将导致编译错误。它也暗示了开发人员这种方法也存在于超类中。
答案 1 :(得分:1)
@Override
是一个注释,如果方法的签名不匹配(例如,如果省略参数savedInstanceState),将抛出编译错误,这是一个重写方法被标记。
此外,该方法未实现,因为它已在Activity
中实现(由super.onCreate(savedInstanceState)调用),重写
我是否回答了你的问题?
答案 2 :(得分:0)
你必须覆盖该方法,因为它不是直接在超类中实现的。你可以说“它被覆盖了”。