2

インターフェイスのコンストラクターを呼び出すときに毎回クラスを定義する必要がある場合、匿名クラスを使用するとどのように役立ちますか?

4

4 に答える 4

2

匿名クラスは、GUI アプリケーションで頻繁に使用されます。クラスのオブジェクトを同時に宣言して作成するだけでよい場合は、コードをより正確にすることができます。

次に例を示します。

        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });
于 2013-04-11T00:30:58.903 に答える
1

匿名クラスは、インスタンス化されるたびに定義されるわけではありません。それらは、他のクラスと同じようにバイトコードにコンパイルされ、たとえばMyEnclosingClass$1. 詳細については、次の投稿を参照してください: Java で匿名クラスはどのようにコンパイルされますか?

接線的には、リフレクションを使用して、実行時に を使用してそれらを識別することができますClass.isAnonymousClass()

于 2013-04-11T00:25:14.250 に答える
0

状況によります。匿名クラスを使用した方がよい場合もあれば、必要なインターフェイスを実装する具象クラスを使用した方がよい場合もあります。

同じ匿名クラス定義を繰り返し提供する必要があると思われる場合は、必要なインターフェイスを実装する具象クラスのインスタンスを渡すと、おそらく時間を節約できます。

Java 言語は、便宜上、無名クラス構文を提供します。

于 2013-04-11T00:31:08.463 に答える