2011-07-02 5 views
3

今日はこのようなものを見ました:これはJavaで何ですか? 「オンザフライで」メソッドをアタッチしますか?

frame.addWindowListener(new WindowAdapter() { 

     public void windowClosing(WindowEvent e) { 
      System.exit(0); 
     } 
    }); 

次の部分は何を意味するのでしょうか?

new AClass(){ this part } 

このクラスの新しいインスタンスをインライン展開できますか?

は、私はそれをGoogleに試してみましたが、私はそれが=/

PSと呼ばれていたか何を知らなかっ:学習のjava = P

+0

ここから試してみてください:http://www.cs.sjsu.edu/faculty/beeson/courses/cs160/LectureNotes/12-EventDrivenProgramming.html –

答えて

3

のようなものをやってと同じです既存のクラス(通常は抽象クラス "アダプター"または "ヘルパー"クラス)を拡張することができます。

Swingコードでは、ウィンドウとマウスのリスナーを実装するのが一般的です。

これが話題のまともな議論のように(額面)になります。http://www.javaworld.com/javaworld/javaqa/2000-03/02-qa-innerclass.html

乾杯。キース。

1

それはanonymousクラスと呼ばれています。ボヘミアンの答えに追加するには

2

は、それはそれはそれはANを実装する簡単な方法だ...「匿名クラス」と呼ばれています。この

class MyWindowAdapter extends WindowAdapter() { 

     @Overide 
     public void windowClosing(WindowEvent e) { 
      System.exit(0); 
     } 
} 

frame.addWindowListener(new MyWindowAdapter()); 
2

これは単なる匿名の内部クラスです。このインターフェイス実装を1回だけ使用すると便利です。それ以外の場合は、クラス全体を作成する必要があるため、非常に便利です。

+0

実際には、あなたは*実行中に「全体のクラス」を作成していますこの。あなたはインラインでやっているだけです。 –

関連する問題