1

インタビューで質問を頂きましたが、can final method override....?

もちろん。インタビュアーは奇妙なジェスチャーをしています。それの何が問題なのですか?文法的には正解だと思います。最終メソッドはオーバーライドできますが、最終メソッドはオーバーライドできません。
私の答えは正しかったですか?

この質問を再開することに興味を持っている人がいることがわかりました。

4

6 に答える 6

15

もし彼の英語が下手なら、彼の意味を明確にするよう努めるべきだった. コミュニケーションは、ソフトウェアを構築する上で非常に重要な側面です。

それとは別に:

  • 最終メソッドは他のメソッドをオーバーライドできます
  • 最終メソッドはオーバーライドできません。
于 2013-04-09T09:03:46.523 に答える
4

最終 (Java)

Java プログラミング言語では、final キーワードは、後で変更できないエンティティを定義するために、いくつかの異なるコンテキストで使用されます。

最終メソッドは、サブクラスによってオーバーライドできません。これは、クラスの機能または一貫性にとって重要なメソッドを変更するサブクラスからの予期しない動作を防ぐために使用されます。

于 2013-04-09T09:04:47.377 に答える
1

少し誤解があったと思います。あなたが言ったように彼らが本当に質問した場合、彼らがあなたに尋ねていたのは次のうちどれかは不明です。

  • 既存のfinalメソッドはオーバーライドできません
  • それ以上のオーバーライドを防ぐために、既存の非finalメソッドのオーバーライドを行うことができます。final
于 2013-04-09T09:05:47.677 に答える
1

次のように考える方が簡単でした:最終として宣言するものは、機能が100%完全であり、他の誰もそれをサブクラス化したり、拡張したりすることを許可されるべきではないことを意味します.

もちろん、オーバーライド関数を final としてマークすることもできます。ただし、最終関数をオーバーライドすることはできません。

于 2013-04-09T09:06:05.217 に答える
0

静的メソッドと最終メソッドは Java でオーバーライドできません。

于 2013-04-09T09:09:29.260 に答える
0

final クラスはサブクラス化できません。final メソッドはサブクラスでオーバーライドできません。final 変数は一度だけ初期化できます。

于 2013-04-09T09:06:06.500 に答える