java中的final方法

时间:2013-04-09 09:02:07

标签: java

我在接受采访时得到了问题,can final method override....?

我说是的。采访者有一种奇怪的姿态。这有什么问题?我猜,在语法上它是正确的答案。 final方法可以覆盖,但最终方法不能被覆盖 我的回答是否正确?

我发现有些人有兴趣重新打开这个问题。

6 个答案:

答案 0 :(得分:15)

如果他的英语不好,那么你应该试着澄清他的意思。沟通是构建软件的一个非常重要的方面。

除此之外:

  • 最终方法可以覆盖其他方法
  • 最终方法无法覆盖。

答案 1 :(得分:4)

final (Java)

  

在Java编程语言中,final关键字用于多个   不同的上下文来定义一个以后无法更改的实体。

     

子类不能覆盖最终方法。这习惯了   防止子类改变可能的方法的意外行为   对班级的功能或一致性至关重要。

答案 2 :(得分:1)

我想有一点误会;如果他们在你说出这个问题的时候真的问过这个问题,那么他们不知道他们会问你哪一个问题:

  • 现有final方法 无法 被覆盖
  • 覆盖现有的非final方法 可以final以防止进一步覆盖。

答案 3 :(得分:1)

我更容易想到这样:无论你宣称什么是最终意味着它在功能上100%完整,并且不应该允许任何其他人继承它,扩展它等。

当然,你可以将最重要的功能标记为最终。但你无法覆盖最终的功能。

答案 4 :(得分:0)

最后一堂课不能分组, 子类不能覆盖最终方法, 最终变量只能初始化一次

答案 5 :(得分:0)

无法在java中覆盖静态方法和最终方法。