JavaJavaの匿名クラスはすごくかわしいかわいい技術でいろいろキモイことができます。匿名クラスは基本的に「サブクラス生成のための特殊記法」であって、クロージャではありません。匿名クラスとクロージャを対比して云々するのはそもそも誤りです。なんならクロージャでサブクラス作ってみなよってことです。匿名クラスによって、Javaではなにかのサブクラスを任意の場所で即座に作り出すことが出来るんです。なにかのクラスのメソッドを三つほど書き換えた新しいクラスをさっと作れるのは、なかなか面白い機能ですよ。 その匿名クラスを利用したカッコイイ(でも使うのは躊躇されている)記法として、次のようなのがあります。(追記:この用法はヨシオリさんところで見たのが最初です) List list = new ArrayList() {{add("a"); add("b"); add("c");}}; Javaには「初期
「その場限り」のサブクラスもしくは実装クラスを作る方法。 「new スーパークラス名( コンストラクタの引数 ) { /* サブクラスとしての実装 */ }」とすることで、「名前のない」クラスを作ることができる。これが「匿名クラス」である。 匿名クラスは「スーパークラス名」のサブクラスとして作られる。スーパークラスの代わりにインターフェイスを使用し、その実装クラスを作ることもできる。 逆に言うと、匿名クラスは必ず、スーパークラスのサブクラスか、インターフェイスの実装クラスとして作らなければならない。単独のクラスとして作る場合には、Objectクラスのサブクラスとして作ることになる。 また、匿名クラスは「名前のないクラス」のため、参照型変数を作ることができない。そのため、基本的に「オーバーライドするメソッド」もしくは「実装するメソッド」以外にpublicメソッドを作ることはない。新規に追加し
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く