java.net.URLから継承したいのですが、最終的なものなのでできません。エラーが発生します:
cannot inherit from final java.net.URL
なぜそれが最終的なのですか?
文字列が最終状態である理由、JVMは非常に基本的なデータ型であるため文字列に依存しているという質問に対するいくつかの回答。これがURLタイプにどのように適用されるかわかりません。
アップデート
多くの回答とコメントが理由を示しており、継承を避けることが良い習慣である理由を示しています。すべてが最終的なものであるべきだと考える人さえいます。しかし、現実は別のものです。JDKのほとんどのクラスは最終的なものではありません。良い習慣であることは、 java.net.URLから継承すべきではない理由です。これは、JDKのどのクラスにも当てはまる可能性があります。しかし、何かが最終的なものとして定義されている場合、それを継承することはできません。これは、StringまたはURLなどのごく少数のクラスにのみ適用されます。
したがって、URLと他のすべての非最終クラスの間には何か違うものがなければなりません。問題は、この違いは何であり、それが必要になるのか、そのURLは最終的なものなのかということです。
とにかく継承してはいけないので、この質問を気にしないと言うことは、質問に対する答えではありません。