2009-10-01 10 views
12

次のJavaコードでは、JButtonが作成されますが、同時にそのメソッドの1つがオーバーライドされます。 Qestion:オブジェクトの作成時にこのようにオーバーライドする名前がありますか?オブジェクトの作成時にJavaオーバーライド

コード:

JButton myButton; 
    myButton = new JButton ("ok"){ 

     @Override 
     public void setText(String text) { 
      super.setText(text +", delete"); 
     } 

のJButtonのラベルが "OK、削除" 今ある

答えて

18

匿名クラスです。からJava in a Nutshell

匿名クラスは、名前のないローカルクラス です。匿名クラスは であり、新しい 演算子を使用して単一の 簡潔表現で定義され、インスタンス化されます。ローカルクラス 定義はJavaコードのブロック 内のステートメントであるが、匿名クラス 定義は、それがそのような メソッド呼び出しとして、より大きな式の一部 として含めることができることを意味する表現です。ローカルクラスが である場合は、 匿名クラスの構文を使用することを検討してください。 は、 のクラスの定義と使用方法がまったく同じ場所に配置されます。

これは、class式で明示的に新しいクラスを定義することなく、基本クラスの特殊化を提供する一般的な手段です。

関連する問題