(Java 新手,老 C# 家伙。)
我注意到在 Android 示例代码中大量使用了 @Override
。我以为所有 Java 方法默认都是“虚拟的”?
那么 @Override
做了什么?
例子:
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
最佳答案
这是一个注解,您可以使用它来告诉编译器和您的 IDE,您打算将具有该注解的方法作为父类(super class)方法的覆盖。如果您犯了错误,它们会发出警告/错误,例如,如果您打算覆盖一个方法但拼写错误,如果注释存在,IDE 或编译器会告诉您它实际上是 not覆盖父类(super class)方法,因此您可以确定原因并纠正拼写错误。
这对于 Android 应用程序和 Activity 而言尤为重要,例如,所有调用都将基于 Activity 生命周期 - 如果您没有正确覆盖生命周期方法,它们将永远不会被框架调用。一切都可以正常编译,但您的应用程序将无法按您预期的方式运行。添加注解会报错。
关于java - Android @Override 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2950074/