安卓的一些@Override 方法如何理解?

  1. 描述你的问题
    每当重写这些方法的时候,有一个疑惑就是这里的return 后面super这一句要不要修改,有时候不是很确定,我想是不太理解这原理。

  1. 贴上相关代码

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return super.onOptionsItemSelected(item);
    }
  1. 贴上报错信息

  2. 贴上相关截图

  3. 已经尝试过哪些方法仍然没解决(附上相关链接)

阅读 4.3k
3 个回答

既然还是调用的父类的方法,那就没必要重写父类的方法 这些代码都可以删掉

你需要知道父类方法会做什么(读文档), 然后才能决定要不要调用父类的方法

另外有些父类方法是必须调用的, 基本是lifecycle相关的比如onCreate

@Override 注解 就是表示 重写父类的某个方法,如果你重写的方法里什么都没做,就可以把这个方法删除掉,有的时候你必须调用父类的方法 就会出现 super 这些关键字什么的 其实这都是java 的基础知识,和Android没有太大的关系

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        // 以下是我的方法实现内容
}

    

假设我要重写这个方法,super.onActivityResult(requestCode, resultCode, data); 这一句就是调用父类的这个方法,然后下边再写我的方法内容。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题