1. ホーム

[解決済み】JavaでAnonymousインナークラスはどのように使用されていますか?

2022-03-28 02:38:10

質問

Javaにおける匿名クラスとはどのようなものですか?無名クラスの利用は、Javaの長所のひとつと言えるでしょうか?

どのように解決するのですか?

匿名クラスとは、つまり 匿名内部クラス .

匿名内部クラスは、実際にクラスをサブクラス化することなく、メソッドのオーバーライドなど、特定のquot;extras"を持つオブジェクトのインスタンスを作成する場合に便利です。

私はイベントリスナーを付けるためのショートカットとして使うことが多いですね。

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});

を実装したクラスを追加で作る必要がないので、コーディングが少し早くなります。 ActionListener -- 実際には別のクラスを作らずに、無名の内部クラスをインスタンス化すればいいんです。

私はこのテクニックを、クラス全体を作る必要がないと感じられる、クイック&ダーティなタスクにのみ使用しています。全く同じことをする複数の匿名インナークラスを持つことは、インナークラスであれ、別のクラスであれ、実際のクラスにリファクタリングする必要があります。