Java では、final として定義されているクラス、または、final によって変更されたクラスを継承することはできません。
jdk の開発者は、最も基本的なクラスの一部は必ずしも開発者に公開されているわけではないと考えているため、継承時にユーザーがミスをすると、多くの問題が発生する可能性があります。ユーザーが基本クラスに対応する拡張を作成するのを防ぐために、Java 設計プロセスの開始と終了の原則も反映されており、これらのクラスは最終的に最終的なものになるように設計されています。
これは、final のルールです:
クラスに Final を使用する場合、final クラスは誰にも継承できません。つまり、このクラスは誰にも継承できません。継承ツリーはリーフ クラスであり、このクラスの設計は
の変更や拡張を必要とせずに完璧であると考えられています。最終クラスのメンバーについては、最終クラスとして定義するかどうかを定義できます。メソッドに関しては、所属するクラスがfinalなので当然finalになります。また、final
クラスのメソッドに明示的に Final を追加することもできますが、これは明らかに無意味です。
継承できない Java の一般的なクラスは次のとおりです:
String、
StringBuffer、
StringBuilder ,
Double、Integer、Long
などのパッケージ化クラスの基本タイプ。
この String クラスがどのように定義されているかを見てみましょう:
上記は、この String クラスがどのように定義されているかを示しています。最後の修飾子です!
クラス全体がfinalである(定義の前にfinalキーワードをプレフィックスとして付ける)場合は、このクラスから継承したくない、または他の人がこのアクションを実行できないことを意味します。 。言い換えれば、何らかの理由で、クラスに変更を加える必要はまったくありません。または、セキュリティ上の理由から、サブクラス化 (サブクラス処理) を行いたくないのです。
推奨される学習:JavaVideoTutorial
以上がJava で継承できないクラスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。