gpt4 book ai didi

java - 为什么 CheckStyle 建议我使用 final 方法?

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:57 24 4
gpt4 key购买 nike

我正在使用 eclipse checkstyle 插件。我在 A 类中有几个方法在 B 类中被覆盖。我对大多数方法都有以下警告

The function SearchAndReplace is not conceived to be inherited
- it must be declared abstract or final or leave it empty.

将方法声明为 final 有什么好处吗?

编辑

我知道关键字 final 的用途。我知道它可以防止覆盖方法,还有其他优势吗,比如性能或类似的东西?

最佳答案

当您将一个方法声明为 final 时,您是说该方法可能不会被覆盖。

引自 Java 语言规范:

A method can be declared final to prevent subclasses from overriding or hiding it.

It is a compile-time error to attempt to override or hide a final method.

常见的口号(我相信是 Joshua Bloch 的口号)是

设计和文档用于继承或禁止继承

因此,除非您打算让子类覆盖该方法(并可能更改父类(super class)的行为(所有方法在 Java 中都是 virtual)),否则请将该方法设为 final方法。

关于java - 为什么 CheckStyle 建议我使用 final 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com