Aufgabe Konstruktor

Hallo zusammen,

bin gerade dabei ein bischen in die Java-Welt einzusteigen.
Allerdings habe ich noch immer Probleme mit dem Begriff Konstruktor.
Kann mir jemand (auf einfache Weise) erklären, wie der Konstruktor funktioniert bzw. welchen Zweck er erfüllt.

vielen Dank schon mal im voraus

Markus

Hmm, ne gute und formal richtige Erklärung fällt mir grad nicht ein.

Aber der Konstruktor dient einfach dazu beim Erstellen eines Objektes einen gewissen Zustand herzustellen, quasi eine Art „Inititialisierung“.

Ergänzung
Der Konstruktor ist im Prinzip einfach eine Methode die nach der Klasse benannt ist und keinen Rückgabetyp hat.

Diese Methode bzw. der Konstruktor wird beim Erzeugen mit new aufgerufen.

Z. B.:

class Test
{
 Test()
 {
 System.out.println( "Constructor" );
 }
}

Man kann auch Parameter an einen Konstruktor übergeben:

class Test
{
 Test( String sText )
 {
 System.out.println( "Constructor: " + sText );
 }
}

Die Aufrufe würden jetzt so aussehen:

Test t1 = new Test();
Test t2 = new Test( "Dumdidumdidei" );

Grüße, Robert

Hi,

ne einfache Erklärung:

Du hast z.B. eine Klasse Konto, diese hat die Attribute ktoNr und betrag.

Wenn du ein neues Objekt (also ein neues Konto) erzeugst, so willst du bei diesem ja die Attribute auf bestimmte Werte setzen.

So wird sicherlich der Betrag von Beginn an 0 sein und die Nummer übergibst du beim Aufruf.

Somit kann im Konstruktor festgelegt werden, dass betrag automatisch auf 0 gesetzt wird und die ktoNr auf die übergebene Nummer.

also:

public class Konto{

double betrag;
int ktoNr;

Konto (int kontonummer)
{
this.betrag = 0;
this.ktoNr = kontonummer;
}
}

ein Aufruf aus main oder sonstwo würde also aussehen:

Konto meinKonto = new Konto (123456);

es wird somit ein Objekt erstellt, das die Attrib. ktoNr = 123456 und betrag = 0 hat.

Einleuchtend?

ciao, Bill

Bei Java spielt es eh nich so ein große rolle da er von sich aus einen Konstruktor startet der die Werte auf 0 setzt,wenn man nicht gerade einen anderen Startwert haben möchte.

Er ist eigentlich nur dazu da um sichzugehen das in dem Speicherbereich ,mit deinem Variablenamen nichts drin steht.

Bei C oder C++ hättest du ein problem wenn du folgendes machst

int zahl; //

cout

Er ist eigentlich nur dazu da um sichzugehen das in dem
Speicherbereich ,mit deinem Variablenamen nichts drin steht.

?? das versteh ich nicht so ganz, was meinst du damit

Der Konstruktor wird auch oft benutzt, wenn man z.b. einen Objektbaum hat übergibt man das parent-Objekt um danach wieder auf dieses zugreifen zu können.

Kann mir jemand (auf einfache Weise) erklären, wie der
Konstruktor funktioniert bzw. welchen Zweck er erfüllt.

Ein Konstruktor ist eine Methode, die eine Klasse instanziert (=ein Okjekt der Klasse erzeugt). Der Rückgabewert ist also immer ein Objekt der Klasse, was du aber anders als bei anderen Methoden nicht angeben mußt. Sie heißt immer nach der Klasse und es können bei der Instanzierung (müssen aber nicht) für dieses Objekt bestimmte Variaben mit einem Wert belegt werden.
also

class Auto {

String farbe;
int baujahr;

public Auto()
{
farbe = grün;
baujahr = 1999;
}

}

Die Methode Auto() (die hier groß geschrieben wird, weil es ein Konstruktor ist - andere Methoden werden ja immer klein geschrieben) erzeugt dir als ein Auto-Objekt mit den Parametern baujahr und farbe und ist der sogenannte Konstruktor.

Ich hoffe, daß war halbwegs verständlich.

Grüße Nora