View.OnClickListener question

I am wondering what's the difference between passing View.OnClickListener() an OnClickListener instance vs an View.OnClickListener **subclass** instance?

Code:
Button myBtn = (Button) findViewById(R.id.my_btn);

//OnClickListener instance
myBtn.setOnClickListener(myBtnListener);

private View.OnClickListener myBtnListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            myBtn.setText("You Clicked on My Belly Button");
        }
};

//OnClickListener subclass instance
myBtn.setOnClickListener(new BtnListener());

private class BtnListener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            v.setText("You Clicked on My Belly Button");
        }
}
 
Inheritance. You have the flexibility to add your own methods which aren't in the super class.

I thought it was rather clear that I wasn't asking for what is a subclass that every taxi driver knows, but specifically about setOnClickListener, which only overrides onClick(View v).

I think in my example they are the same, but usually it is the Activity class, class MyActivity extends Activity implements View.OnClickListener, that subclasses the Lisntener Interface such that we can do btn.setOnClickListener(this);.
 
Back
Top