私はAndroidを初めて使用します。私は、インターフェイスがクラスの機能を強化する方法を提供する基本的なオブジェクト指向プログラミングコースで勉強しました。この方法で実際に機能を強化し、それらのインターフェースを実装し、インターフェースで記述されたすべてのメソッドをオーバーライドするクラス。
次のコードはAndroidで同じ仕事をします:
public class MyActivity extends Activity implements OnClickListener {
// All other code you may expect
myButton.setOnClickListener(this);
@override
public onClick(View view) {
// Code when view is clicked
}
}
このコードは理解できます。しかし、次のコードは私には意味がありません。さまざまな場所で検索しましたが、満足のいく答えは得られませんでした。
public class MyActivity extends Activity {
// All other code you may expect
myButton.setOnClickListener(new OnClickListner() {
@override
public onClick(View view) {
// Code when view is clicked
}
});
}
これOnClickListener()
は、Androidのドキュメントに記載されているインターフェースであり、インターフェースをインスタンス化しています。インターフェイスだけが実装されていませんか?この点を理解するのを手伝ってください。