Java 为什么要重写onCreate?

Java 为什么要重写onCreate?,java,android,Java,Android,我有一个关于Androids onCreate方法的问题。据我所知,该活动是扩展的,并且onCreate()是按照《android开发者指南》的规定实施的(类概述位于)。但是为什么我们要使用@覆盖?如果我想提到这个方法,我应该用什么词?我应该说onCreate()被重写,还是说onCreate()被实现 public class MainActivity extends Activity { @Override protected void onCreate(Bundle

我有一个关于Androids onCreate方法的问题。据我所知,该活动是扩展的,并且
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),而不是“重写的”。它只是一个注释,只是告诉你下面写的方法被重写了。谢谢,但上面的人很快就回答了:(