zuweisung this.

Status
Nicht offen für weitere Antworten.

zuro

Mitglied
Hi, verstehe nicht genau wo der unterschied zwischen den beiden zuweisungen mit this ist
Code:
class versuch {
 int i;
  public versuch(int i){
	  
	  i=this.i; // was macht das genau?
	  this.i=i; // was macht das genau?
	  
  }
}
Kann mir das vielleicht jemand kurz erklären?
this bezieht sich doch immer auf die aktuelle Instanz(Objekt) einer Klasse oder?
Vielen Dank
mfg
zuro
 

Wildcard

Top Contributor
Du brauchst this in diesem Zusammenhamg weil deine lokale Variable i die Instanzvariable i überdeckt.
this.i=i;
bewirkt also das die Instanzvariable i den Wert des lokalen i annimmt.
 
G

Guest

Gast
Oder anders ausgedrückt, es gibt innerhalb der Klasse versuch zwei int-Variablen mit dem Namen "i". In der Methode versuch bedeutet ein einfaches "i", daß der Parameter i gemeint ist, da der Parameter i im Context der Methode quasi eine höhere "Priorität" gegenüber der Klassenvariable hat. Um nun doch auf die Klassenvariable i zuzugreifen muß man diese expliziet mit this qualifizieren. this bedeutet eine Referenz "auf sich selbst" also die eigene instanz. Bei Beans z.B. hat jede private Klassenvariable meist eine setter-Methode die einen Parameter gleichen Namens hat. Bsp:

Code:
public class Person {

    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name; // hier würde auch ein einfaches "name" reichen, nur zum Verständnid
    }
 

zuro

Mitglied
Achso, kann ich mir das in der Art merken, das this dafür zuständig ist, wenn mit
Code:
versuch ver1=new versuch(3); //neue instanz ver1 anlegen
this dafür da ist den wert 3 für i der instanz ver1 zuzuordnen?

Dementsprechend macht i=this.i; keinen Sinn oder?

Thx Wildcard
 
G

Guest

Gast
Genau so ist es.

i=this.i ist zwar syntaktisch auch möglich, ist aber schlechter Stil.
 
G

Guest

Gast
Obwohl die eigentliche Definition eines "JavaBean" etwas anders ist, versteht man darunter im Allgemeinen eine Art Datencontainer, also eine Java-Klasse, die verschiedene private Variablen hat, die über get- und set-Methoden gesetzt oder abgefragt werden können. Dabei hat es sich eingebürgert bei einer Instanzvariablen namens "id" die get-Methode getId() und die set-Methode setId(int id) zu benennen, der erste Buchstabe des Namens wird immer groß geschrieben.
 

Wildcard

Top Contributor
Anonymous hat gesagt.:
Obwohl die eigentliche Definition eines "JavaBean" etwas anders ist, versteht man darunter im Allgemeinen eine Art Datencontainer, also eine Java-Klasse, die verschiedene private Variablen hat, die über get- und set-Methoden gesetzt oder abgefragt werden können.
Nein, das ist die falsche Definition die aber mittlerweile sehr geläufig ist.
Bei einer Bean im eigentlichen Sinne handelt es sich um kleine GUI-Komponenten die der Bean Konvention folgen.
 
G

Guest

Gast
Das wollte ich ja ausdrücken, aber alles was über die getter-/setter-Konvention hinausgeht ist für das Verständnis der "this-Problematik" nicht nötig.

Aber mal ehrlich, wo werden die "klassischen" JavaBeans heute in der Praxis eingesetzt?
 
G

Guest

Gast
Es ist aber nicht ungewöhnlich, daß ein spezieller Begriff im allgemeinen Sparchgebrauch einen andere Bedeutung erhält und "(Java-)Bean" würde ich auf jeden Fall dazu zählen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Zuweisung und Rechenoperationen Java Basics - Anfänger-Themen 15
Henri Anpassung ein Schleife(Zuweisung eines Ordners) Java Basics - Anfänger-Themen 0
Henri Anpassung ein Schleife(Zuweisung eines Ordners) Java Basics - Anfänger-Themen 27
P Array, forSchleife, Zuweisung Java Basics - Anfänger-Themen 24
O this als Zuweisung Java Basics - Anfänger-Themen 5
B Postinkrement Zuweisung Java Basics - Anfänger-Themen 1
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
E Best Practice Exaktes Rechnen mit (Pseudo-)Rationalen/Realen Zahlen. Operations Zuweisung für (eigene) Klassen Java Basics - Anfänger-Themen 3
O ExecutorService: ThreadGroup zuweisung? Java Basics - Anfänger-Themen 2
V Arrays aus eigener Klasse erstellt, zuweisung aber spuckt Fehler in verbindung mit main Methode aus. Java Basics - Anfänger-Themen 3
J Zuweisung/Tabelle Java Basics - Anfänger-Themen 6
G OutOfBoundsException bei Array-Zuweisung Java Basics - Anfänger-Themen 2
P Erste Schritte Koordinaten Zuweisung Java Basics - Anfänger-Themen 6
Luk10 Frage zu Zuweisung Java Basics - Anfänger-Themen 7
J Zuweisung von gesicherten Werten funktioniert nicht Java Basics - Anfänger-Themen 9
J Erste Schritte Anfängerproblem Stringkonvertierung und Zuweisung Java Basics - Anfänger-Themen 2
3 Verschachtelte Zuweisung Java Basics - Anfänger-Themen 4
C Array zuweisung Java Basics - Anfänger-Themen 4
D Array-Zuweisung Java Basics - Anfänger-Themen 4
H variablen zuweisung Java Basics - Anfänger-Themen 4
T OOP StringTokenizer, Zuweisung der einzelnen Attribute Java Basics - Anfänger-Themen 21
B Fragen zur Initialisierung/Zuweisung der Variable + Packages erstellen Java Basics - Anfänger-Themen 4
F int zuweisung überprüfen Java Basics - Anfänger-Themen 3
hdi Verständnisfrage zu Zuweisung + Post-Inkrement Java Basics - Anfänger-Themen 3
A kurze frage zu arrays und deren zuweisung Java Basics - Anfänger-Themen 11
G Wieso ist eine String-Übergabe keine by-reference-Zuweisung? Java Basics - Anfänger-Themen 7
S Zuweisung mit Operation "^=" Java Basics - Anfänger-Themen 2
M IntegerVariable und Zuweisung von Zahlen die mit 0 anfangen! Java Basics - Anfänger-Themen 3
H Variable zuweisung in einem If-Statement Java Basics - Anfänger-Themen 3
F Abfrage in Zuweisung mit Fragezeichen Java Basics - Anfänger-Themen 5
Z Zugriff auf Attribute nach Zuweisung einer Referenz Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben