1. ホーム
  2. java

[解決済み] Javaにおける "final class "の意味とは?

2022-03-15 21:37:19

質問

Javaに関する本を読んでいると、クラス全体を final . これを使う場面は思いつきません。

私はプログラミングを始めたばかりで、疑問に思っていることがあります。 プログラマが実際にプログラムでこれを使うかどうか . もしそうなら、どのような時に使うのでしょうか。そうすれば、よりよく理解し、いつ使うべきかを知ることができます。

Javaがオブジェクト指向で、クラスを宣言した場合 final クラスがオブジェクトの性質を持つという発想はないのでしょうか?

どうすればいい?

まず、この記事をお勧めします。 Javaです。Final クラスを作成する場合


もしそうなら、いつ使うのか、そうすればもっと理解できるし、いつ使えばいいのかわかる。

A final クラスは、単に を拡張することはできません。 .

(として宣言されているかのように、そのクラスのオブジェクトへのすべての参照が動作することを意味するものではありません)。 final .)

クラスをfinalとして宣言することが有用な場合については、この質問の回答で取り上げています。

Javaがオブジェクト指向で、クラスを宣言した場合 final クラスがオブジェクトの性質を持つという発想はないのでしょうか?

ある意味ではそうですね。

クラスをfinalにすると、コードのその部分について、言語の強力で柔軟な機能を無効にしてしまうことになります。しかし、いくつかのクラスは、そうすべきではない(そして、ある場合には できる は、サブクラス化をうまく考慮した設計にはなっていません。このような場合、たとえOOPが制限されるとしても、クラスをfinalとしてマークすることは理にかなっています。(ただし、finalクラスがfinalでない別のクラスを拡張することは可能であることを忘れないでください。)