Java に関する本を読んでいるのですが、クラス全体を として宣言できると書いてありますfinal
。これをどこで使うのか思いつきません。
私はプログラミングの初心者なので、プログラマーが実際にこれをプログラムで使用しているかどうか気になっています。使用しているとしたら、いつ使用しているのか教えてください。そうすれば、より理解が深まり、いつ使用すればよいかがわかります。
Java がオブジェクト指向であり、クラスを宣言するとfinal
、クラスがオブジェクトの特性を持つという考えはなくなるのではないでしょうか。
ベストアンサー1
まず、この記事をお勧めします:Java: final クラスを作成するタイミング
もしそうなら、いつそれを使用するのか教えてください。そうすれば、私はそれをよりよく理解し、いつ使用すればよいかがわかります。
クラスは単純に拡張できないfinal
クラスです。
(クラスのオブジェクトへのすべての参照が として宣言されているかのように動作することを意味するわけではありませんfinal
。)
クラスを final として宣言すると便利な場合については、この質問の回答で説明されています。
Java がオブジェクト指向であり、クラスを宣言すると
final
、クラスがオブジェクトの特性を持つという考えはなくなるのではないでしょうか。
ある意味そうです。
クラスを final としてマークすると、コードのその部分で言語の強力で柔軟な機能が無効になります。ただし、一部のクラスは、サブクラス化を適切に考慮するように設計すべきではありません (場合によっては、考慮できません)。このような場合は、OOP が制限されるとしても、クラスを final としてマークするのが理にかなっています。(ただし、final クラスは、別の非 final クラスを拡張できることに留意してください。)