Ciao a tutti,
Dopo aver letto e riletto tante guide JAVA non riesco a comprendere a pieno la funzione del riferimento "this". C'è qualcuno che può illuminarmi?

Riporto diversi esempi chissà che magari spiegandomi questi, riesca a capire una volta per tutte

codice:
MultiAutoCompleteTextView mactv = (MultiAutoCompleteTextView)this.findViewById(R.id.multiautotxt1);
ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, new String[] {"Inglese",
"Spagnolo", "Tedesco", "Francese", "Italiano"});
codice:
Button btnvis = (Button)this.findViewById(R.id.btnprova);
btnvis.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
}
});
codice:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (TextView)this.findViewById(R.id.testo);
EditText edit1 = (EditText)this.findViewById(R.id.edit1);
E la differenza tra questi 2 codici sempre facendo riferimento particolare a "this"
codice:
public class MyButtonDemoActivity extends Activity { 
@Override
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
 MyButton button = new MyButton(this); 
 button.setText("Toccami!"); 
 LinearLayout layout = new LinearLayout(this);
codice:
public class TwoButtonsDemoActivity extends Activity implements OnClickListener { 
@Override
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
 setContentView(R.layout.main); 
 Button bottone01 = (Button) findViewById(R.id.bottone01); 
 Button bottone02 = (Button) findViewById(R.id.bottone02);
bottone01.setOnClickListener(this); 
 bottone02.setOnClickListener(this); 
 }

Grazie in anticipo