ホームページ >Java >&#&チュートリアル >Javaで匿名の内部クラスを作成するにはどうすればよいですか?

Javaで匿名の内部クラスを作成するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-05-01 08:39:01416ブラウズ

匿名内部クラスは、明示的な名前を使用せずにインスタンスを作成するときに定義される内部クラスです。構文: new () { // 匿名の内部クラス本体}。利点: シンプルさ、コードの再利用、ローカル スコープ。欠点: 可読性が低く、デバッグが困難です。実際の例には、匿名クラスのオーバーライドや匿名インターフェイスの実装などがあります。

Java 匿名内部类如何创建?

#Java 匿名内部クラス作成ガイド

匿名内部クラスとは何ですか?

匿名内部クラスは、インスタンスの作成時に定義される内部クラスです。これらには明示的な名前はなく、クラスやインターフェイスを急遽オーバーライドしたり実装したりするためによく使用されます。

匿名内部クラスの作成

Java で匿名内部クラスを作成するには、次の構文を使用します。

new <基类或接口名>() {
    // 匿名内部类体
};

基本クラスまたはインターフェイス名は匿名です。内部クラスが継承または実装するクラスまたはインターフェイス。クラス本体には、匿名内部クラスのメソッドとフィールドの定義が含まれています。

実践的なケース

1. 匿名クラスのオーバーライド

匿名内部クラスを使用して

Runnable class run() メソッド:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("匿名内部类线程运行");
    }
});

thread.start();

2. 匿名インターフェイスの実装

匿名内部クラスを使用して

Comparator を実装します。 インターフェイス:

List<String> strings = new ArrayList<>();

Comparator<String> comparator = new Comparator<>() {
    @Override
    public int compare(String s1, String s2) {
        return s1.length() - s2.length();
    }
};

strings.sort(comparator);

利点

  • シンプルさ: 匿名の内部クラスは、別のクラス ファイルを定義せずに直接作成できます。
  • コードの再利用: これらは、一度だけ使用される一時的な実装を作成するために使用できます。
  • ローカル スコープ: 匿名内部クラスには、それを作成したクラスまたはメソッドのスコープ内でのみアクセスできます。

欠点

  • 可読性: 匿名の内部クラスにより、コードが読みにくく、理解しにくくなる可能性があります。
  • デバッグの難しさ: 匿名内部クラスには名前がないため、デバッグ時に追跡するのがより困難になる可能性があります。

以上がJavaで匿名の内部クラスを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。