2012-01-03 13 views
5

これも言葉がありますか?それは私を完全に逃れました。コンストラクタを呼び出すときにメソッドをオーバーライドするときに、何を呼び出すのですか?

例:

TableLayout tableLayout = new TableLayout(context){ 
    @Override 
    protected void onDetachedFromWindow(){ 
     super.onDetachedFromWindow(); 
     getRidOfDialog(); 
    } 
}; 
+0

私はあなたがそれを行うことで内部クラスを定義すると言うでしょう。しかし、私は確信していません。 –

答えて

1

メソッドのパラメータで定義された内部クラスです。私はあなたが探している用語は "匿名の内部クラス"だと思います。

0

匿名のインラインクラス定義。

1

匿名のクラスです。一例として以下を考慮してください。

new Thread(new Runnable() 
{ 
    public void run() 
    { 
     System.out.println("Message") ; 
    } 
}) .start() ; 

次の(同じ)で表すことができます。

class ThreadDemo 
{ 
    public void temp() 
    { 
     new Thread(new AnonymousClass()).start(); 
    } 

    private class AnonymousClass implements Runnable 
    { 
     public void run() 
     { 
      System.out.println("Message") ; 
     } 
    } 
} 

あなたは今、いくつかのアイデアがあると思いますか? See

関連する問題