iteye_18568 2010-01-07 23:21
浏览 211
已采纳

初学,问了类的继承问题

下面是eclipse自动生成的代码

[code="java"]
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
[/code]

Test类是继承Activity,main方法中的两个方法onCreate和setContentView都是继承的Activity中的方法,为什么一个要用super而另一个不用呢?都是执行父类里的方法吗?

  • 写回答

4条回答 默认 最新

  • ccnunlp 2010-01-08 07:31
    关注

    super.onCreate(savedInstanceState); 是一定会调用父类的onCreate方法的。

    setContentView(R.layout.main); 如果子类也有一个与父类相同的setContentView方法,则执行子类的方法。如果子类没有这个方法,就执行父类setContentView的。

    为什么上面一个要加super呢?

    因为子类有一个与父类完全一样的onCreate方法,根据Java方法调用的动态绑定机制,不加super就一定会调用子类自己的onCreate方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退