Java 为什么要重写onCreate?
我有一个关于Androids onCreate方法的问题。据我所知,该活动是扩展的,并且Java 为什么要重写onCreate?,java,android,Java,Android,我有一个关于Androids onCreate方法的问题。据我所知,该活动是扩展的,并且onCreate()是按照《android开发者指南》的规定实施的(类概述位于)。但是为什么我们要使用@覆盖?如果我想提到这个方法,我应该用什么词?我应该说onCreate()被重写,还是说onCreate()被实现 public class MainActivity extends Activity { @Override protected void onCreate(Bundle
onCreate()
是按照《android开发者指南》的规定实施的(类概述位于)。但是为什么我们要使用@覆盖
?如果我想提到这个方法,我应该用什么词?我应该说onCreate()被重写
,还是说onCreate()被实现
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
onCreate
被“重写”,因为活动有一个现有的实现,您的类MainActivity
正在用自己的实现替换该实现。如果该方法只在接口中声明,而在您要替换的超类中没有实现,那么您会说“已实现”
注释
@Override
是编译器的可选(但建议使用)提示,提示您要扩展的超类或接口中必须存在以下方法签名。如果不是这样,它将导致编译错误。它还提示开发人员,该方法也存在于超类中。@Override
是一种注释,如果方法的签名不匹配(例如,如果省略参数savedInstanceState),则该注释将引发编译错误,这就是被重写方法的标记方式
此外,该方法没有实现,因为它在活动
(由super.onCreate(savedInstanceState)调用)中已经有一个实现,它被覆盖
我回答你的问题了吗?你必须重写这个方法,因为它不是直接在超类中实现的。你可以说“它被重写了”。它是“重写的”(你的标题很接近,但它有两个r),而不是“重写的”。它只是一个注释,只是告诉你下面写的方法被重写了。谢谢,但上面的人很快就回答了:(