当前位置: 首页 > 面试题库 >

Android @Override使用情况

景昊焜
2023-03-14
问题内容

(对Java的新手,旧的C#家伙。)

我注意到@OverrideAndroid示例代码中有很多用法。我以为所有Java方法默认都是“虚拟”的?

@Override怎么办?

例:

private class HelloWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

问题答案:

这是一个注释,可以用来告诉编译器和IDE,您打算将具有该注释的方法替换为超类方法。它们会发出警告/错误,以防万一您出错,例如,如果您打算覆盖某个方法但拼写错误,如果存在注释,则IDE或编译器会告诉您实际上并
没有 覆盖超类方法,因此您可以确定原因并纠正拼写错误。

例如,这对于Android应用程序和活动而言就显得尤为重要,因为所有调用都将基于活动生命周期-
如果您未正确覆盖生命周期方法,则框架将永远不会调用它们。一切都可以正常编译,但是您的应用程序将无法正常运行。如果添加注释,则会出现错误。



 类似资料:
  • 我完全被如何在android SDK中使用“AnimateCamera”的回调特性难住了。 http://developer.android.com/reference/com/google/android/gms/maps/googlemap.cancelableCallback.html

  • 问题内容: 我是Android Studio的新手,我想知道Android Studio中声明的目的。 问题答案: @Override是Java注释。它告诉编译器以下方法将覆盖其超类的方法。例如,假设您实现了一个Person类。 人员类具有equals()方法。equals方法已经在Person的超类Object中定义。因此,以上equals()的实现是对Persons的equals()的重新定义

  • 描述: 指明一个标识符覆盖其父类同名的标识符。 字典: - closure 版本: '>=3.3.0' 概述 @override标签指明一个标识符覆盖其父类同名的标识符。 这个标签为Closure Compiler提供了兼容性。默认情况下,JSDoc自动识别,覆盖其父类同名的标识符。 如果您的JSDoc注释块包含@inheritdoc 标签,就不需要在包含@Override标签了。@inherit

  • 我们的Android应用程序有很多不同的设置。我们想简化它,只保持可见的最常用的和隐藏其他在一些高级模式。为了做到这一点,我们需要知道我们的用户主要使用的设置是什么。所以我们需要找到一种方法来获得应用程序使用的统计数据。 该应用程序包含谷歌分析(GA),所以自然而然的选择是使用GA。然而,GA似乎更适合跟踪事件,而不是应用程序中的恒定设置。换句话说,使用遗传算法,我们可以很容易地跟踪用户何时更改一

  • 问题内容: 是否有一个静态分析工具可以在IDE外部运行一致地强制使用@Override注释?CheckStyle具有MissingOverride检查,但仅适用于使用@inheritDoc Javadoc标记的方法。我正在寻找一种可以在连续集成计算机上的新构建配置中运行的工具。 问题答案: 一种方法是使用TeamCity的“检查”运行器。我不确定它是否真的可以在IDE之外运行,因为它是在Intel

  • 我正在浏览关于碎片的Android文档。定义片段UI的布局可以在单独的活动布局中定义。xml文件,或者根本就没有。 根据文件 您还可以使用片段为活动提供背景行为,而无需显示其他UI。 为什么我需要使用另一个片段向活动添加功能,而不是在活动中定义更多的功能?这样一个非UI片段会仅仅为了模块化而使用吗?采取这种做法还有其他原因吗?我希望能举一个例子,说明什么时候适合使用非UI片段。 提前感谢您的协助。