Heim > Java > javaLernprogramm > Anonyme innere Java-Klasse

Anonyme innere Java-Klasse

高洛峰
Freigeben: 2016-12-15 13:26:20
Original
1291 Leute haben es durchsucht

Mein aktuelles Verständnis von anonymen Klassen ist, dass sie Schnittstellen und abstrakte Klassenmethoden ermöglichen und flexibel implementieren. Wenn Sie die entsprechende Verwendung eines Objekts nur an einer Stelle implementieren müssen, können Sie die Verwendung anonymer innerer Klassen La~ in Betracht ziehen. Wenn Sie es nur sagen, wird Ihnen auf jeden Fall schwindlig, also lassen Sie uns mit einem kleinen Beispiel sprechen:

Zitat

Das folgende Beispiel ist eine gängige Methode zum Binden von Ereignissen an Schaltflächen in Android


Java-Code

public class Activity1 extends Activity {  
    OnClickListener listener1 = null;  
    Button button1;  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity1);  
        listener1 = new OnClickListener() {//OnClickListener是一个接口  
            public void onClick(View v) {//onClick()方法是这个借口唯一的方法  
                Bundle bundle = new Bundle();  
                bundle.putString("store", "数据来自Activity1");  
                Intent mIntent = new Intent();  
                mIntent.putExtras(bundle);  
                setResult(RESULT_OK, mIntent);  
                finish();  
            }  
        };  
        button1 = (Button) findViewById(R.id.button3);  
        button1.setOnClickListener(listener1);  
                ... ... ...(还有代码在下面~)
Nach dem Login kopieren

Hierbei wird eine interne Klasse verwendet, denn wenn diese Schaltfläche gedrückt wird, wird nur ein dafür vorgesehenes Ereignis ausgelöst, und das wird auch so sein Keine anderen Ereignisse, sodass die Verwendung innerer Klassen die Implementierung und Ausführung von Aktionen gleichzeitig abschließen kann! Es ist ein bisschen wie eine anonyme Funktion in Javascript~
Hier sind ein paar kleine Beispiele:

Java-Code

package com.eoeAndroid.activity;  
  
  
interface OnClickListener{  
    void onClick(String s);  
}  
  
  
public class testListener {  
      
    public static void main(String... strings){  
        OnClickListener listener = new OnClickListener(){  
  
            @Override  
            public void onClick(String s) {  
                // TODO Auto-generated method stub  
                System.out.println(s);  
            }  
              
        };  
        listener.onClick("OK!");  
    }  
  
}
Nach dem Login kopieren

Dieser Code entspricht der anschließenden Referenzierung der OnClickListener-Schnittstelle Es ist beispielsweise der folgende Code implementiert:

Java-Code

package com.eoeAndroid.activity;  
  
  
interface OnClickListener{  
    void onClick(String s);  
}  
  
class MyListener implements OnClickListener{  
  
    @Override  
    public void onClick(String s) {  
        // TODO Auto-generated method stub  
        System.out.println(s);  
    }  
      
}  
public class testListener {  
      
    public static void main(String... strings){  
        MyListener listener = new MyListener();  
        listener.onClick("OK!");  
    }  
  
}
Nach dem Login kopieren



Mehr Java anonyme Artikel zu inneren Klassen Bitte beachten Sie die chinesische PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage