Java の匿名クラスは必ず Final クラスになるのでしょうか?

下次还敢
リリース: 2024-04-29 02:18:11
オリジナル
336 人が閲覧しました

いいえ、Java の匿名クラスは必ずしも最終クラスである必要はありません。匿名クラスはデフォルトでは Final ですが、abstract 修飾子を使用するか、non-final フィールドを宣言してサブクラス化を有効にしたり、内部状態を変更したりすることで、non-final にすることができます。

Java の匿名クラスは必ず Final クラスになるのでしょうか?

#Java の匿名クラスは必ず Final クラスですか?

回答: いいえ、Java の匿名クラスは必ずしも最終クラスである必要はありません。

詳細な説明:

匿名クラスは、クラス名を持たず、

new キーワードを直接使用します。創造。デフォルトでは、匿名クラスは最終クラスですが、次の方法で非最終クラスにすることができます。

    #匿名クラス定義で
  • abstract 修飾子を使用します。
<code class="java">Runnable runnable = new Runnable() {
    @Override
    public void run() {
        // ...
    }
};</code>
ログイン後にコピー
    匿名クラス定義で非最終フィールドを宣言します:
<code class="java">Object object = new Object() {
    int value;
};</code>
ログイン後にコピー
非最終クラスはサブクラス化することも内部状態を変更することもできるため、これらの機能が必要な場合に使用してください。必要な非最終匿名クラスは便利です。ただし、コードの理解と保守が困難になるため、ほとんどの場合、これはお勧めできません。

一般的に、匿名クラスは不変性を確保し、不必要な変更を防ぐために、final のままにしておく必要があります。

以上がJava の匿名クラスは必ず Final クラスになるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!