this

Jack159

Bekanntes Mitglied
Ich habe eine Frage zu dem "this" was ich schon öfters gesehen habe. Das heißt ja soviel wie "Verwende das aktuelle Objekt". Also kann man ja statt "this" auch den Objektnamen schreiben.
Hier mal ein Beispiel aus meinem Java-Buch, wo dies vorkommt (Erste Einführung in GUI´s). Was könnte ich statt "this" schreiben? (Zeile 20 hier im Beispiel)

Java:
import javax.swing.*;
import java.awt.event.*;


public class halloWelt implements ActionListener {
	
	
	JButton button;
	
    public static void main (String[] args) {
    	halloWelt gui = new halloWelt();
    	gui.los();
    	}
	
    public void los() {
    	
    	JFrame frame = new JFrame();
    	button = new JButton("Klick mich");
    	
    	button.addActionListener(this);
    	
    	frame.getContentPane().add(button);
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	frame.setSize(300,300);
    	frame.setVisible(true);
    	
    }
	
    public void actionPerformed(ActionEvent event)  {
    	button.setText("Ich wurde geklickt!");
    }
    
	}
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
es gibt keine Alternativen außer den offensichtlichen: main könnte das erstellte Objekt unter einer anderen Variablen ablegen als die lokale 'gui',
wenn das Objekt dann darauf Zugriff hat, kann es natürlich diese Variable nehmen,
genauso könnte eine Variable selber vorher mit this gefüllt werden

Objekte haben keine Namen, Variablen schon eher
 

Final_Striker

Top Contributor
Ein Objekt hat keinen Namen, höchstens die Referenz auf das Objekt.

Warum willst du da was davor schreiben? Ein this wäre da auch nicht nötig.
 

tagedieb

Top Contributor
Zur Ergaenzung:

this kann nur aus Instanzmethoden verwendet werden.
statische Methoden koennen this NICHT verwenden. Diese koennen nur neue Instanzen erzeugen. Die neue Instanz kann dann im Consturctor oder in seinen Instanzmethoden via this auf sich selbst referenzieren.
 

Neue Themen


Oben