未实现的OnCreate()方法不会出错

时间:2013-12-30 06:36:19

标签: android android-activity

package com.example.mytests;

import android.app.Activity;

public class MainActivity extends Activity  {}

对于上面的代码,即使我没有实现OnCreate()方法,我也没有错误,程序也能运行。我不应该得到一个我应该覆盖它的错误吗?

4 个答案:

答案 0 :(得分:2)

没有。如果您覆盖onCreate并忘记首先致电super.onCreate,则会收到错误。

在你的情况下,只有Activity.onCreate()被调用。它不能真正给出错误,除非他们在谷歌中严重破坏了他们没有的东西。如果它导致Android无效,因为相同的错误将来自super.onCreate()

答案 1 :(得分:1)

不,你不需要覆盖它。但如果你要覆盖它,你必须拨打super.onCreate()

这个想法是,无论如何,必须调用onCreate()的默认实现,如果你根本不重写它也是如此。

答案 2 :(得分:1)

onCreateActivity

的生命周期方法之一

我们实施onCreate的原因是因为我们需要将内容视图设置为活动。因此,我们为onCreate选择setContentView(),这是第一个被调用的生命周期方法。如果您覆盖onCreate,请勿忘记拨打super.onCreate()

why super.onCreate

答案 3 :(得分:0)

你正在扩展已经定义了onCreate方法的类,所以覆盖指示使用你的行为。否则将使用其他超类行为。这与扩展线程类相同而不是覆盖run方法。这样做什么都不会运行方法将被调用当你在线程上调用start方法时。您可能会对实现和扩展接口或类感到困惑。