首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于final关键字的java基础知识

关于final关键字的java基础知识
EN

Stack Overflow用户
提问于 2009-08-29 14:29:03
回答 8查看 2.3K关注 0票数 5

final关键字可以用于方法吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-08-29 14:32:53

绝对一点儿没错!final关键字几乎可以应用于任何东西,在每种情况下都意味着“您不能再更改它了”。

以下是它应用于...时的含义。

a variable:您不能简单地给变量赋一个新值(当然,将其呈现为常量)

a method:您不能在子类中重新实现(即覆盖)此方法

a class:你不能定义一个子类

在每种情况下,我们都只是简单地指出:一旦声明了这个东西,这就是你所看到的最后一个值(或实现)。

票数 19
EN

Stack Overflow用户

发布于 2009-08-29 14:33:01

是的,可以将方法声明为final。这意味着一个方法不能被它的子类覆盖。

来自The Java Language Specifications, Third EditionSection 8.4.3.3

方法可以被声明为final,以防止子类覆盖或隐藏它。尝试重写或隐藏final方法是编译时错误。

有关更多信息,请访问The Java TutorialsWriting Final Classes and Methods页面。

票数 3
EN

Stack Overflow用户

发布于 2009-08-29 14:30:03

是。

您可以将一个方法设为final

代码语言:javascript
复制
public class A {
   public static final void f() {
      System.out.println("test");
   }
}

通常有两个将方法设为final的原因

  1. 当一个方法是final时,它“可能”是内联的。
  2. 当一个方法是final时,该方法不可能被重写。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1351568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档