package com.example.mytests;
import android.app.Activity;
public class MainActivity extends Activity {}
对于上面的代码,即使我没有实现OnCreate()
方法,我也没有错误,程序也能运行。我不应该得到一个我应该覆盖它的错误吗?
答案 0 :(得分:2)
没有。如果您覆盖onCreate
并忘记首先致电super.onCreate
,则会收到错误。
在你的情况下,只有Activity.onCreate()
被调用。它不能真正给出错误,除非他们在谷歌中严重破坏了他们没有的东西。如果它导致Android无效,因为相同的错误将来自super.onCreate()
答案 1 :(得分:1)
不,你不需要覆盖它。但如果你要覆盖它,你必须拨打super.onCreate()
。
这个想法是,无论如何,必须调用onCreate()的默认实现,如果你根本不重写它也是如此。
答案 2 :(得分:1)
onCreate
是Activity
我们实施onCreate
的原因是因为我们需要将内容视图设置为活动。因此,我们为onCreate
选择setContentView()
,这是第一个被调用的生命周期方法。如果您覆盖onCreate
,请勿忘记拨打super.onCreate()
答案 3 :(得分:0)
你正在扩展已经定义了onCreate方法的类,所以覆盖指示使用你的行为。否则将使用其他超类行为。这与扩展线程类相同而不是覆盖run方法。这样做什么都不会运行方法将被调用当你在线程上调用start方法时。您可能会对实现和扩展接口或类感到困惑。