C
C_A
Gast
Hallo,
ich habe zwei Fragen:
1. Wenn ich ein Objekt habe - meinetwegen ein Objekt der Klasse Auto - , kann ich dieses Objekt an Methoden übergeben, dieses Objekt kann das Ergebnis eines Methodenaufrufes sein, usw. Ich kann mit Objekten genauso verfahren wie mit Datentypen. Eine Instanz der Klasse String ist ja auch nur ein Objekt (sehr blöd formuliert ;-) ), genau wie eine Instanz der Klasse Auto. Dennoch werden Strings als komplexe Datentypen oder Referenzdatentypen bezeichnet - ich habe aber noch nie gelesen, dass Auto-Objekte als komplexer Datentyp bezeichnet werden. Warum nicht? Warum wird ein Objekt der Klasse String als Datentyp bezeichnet, ein Objekt der Klasse Auto aber nicht?
2. Ich habe folgenden Code-Ausschnitt:
Hier lege ich zwei Objekte an - ein Controller-Objekt und ein Fenster-Objekt. Auf das Objekt der Control-Klasse wird spätestens im Kontruktor des Fenster-Objektes referenziert. Wer referenziert auf Objekt der Fenster-Klasse? Da keine Variable vom Typ Fenster existiert, würde ich vermuten, dass niemand auf das Fenster-objekt referenziert. Folge wäre doch: sobald der GarbageCollector wieder aktiv wird, wird das Fenster-Objekt einkassiert. Wo ist mein Denkfehler?
Vielen Dank für Eure Antworten und schönen Abend!
Florian
ich habe zwei Fragen:
1. Wenn ich ein Objekt habe - meinetwegen ein Objekt der Klasse Auto - , kann ich dieses Objekt an Methoden übergeben, dieses Objekt kann das Ergebnis eines Methodenaufrufes sein, usw. Ich kann mit Objekten genauso verfahren wie mit Datentypen. Eine Instanz der Klasse String ist ja auch nur ein Objekt (sehr blöd formuliert ;-) ), genau wie eine Instanz der Klasse Auto. Dennoch werden Strings als komplexe Datentypen oder Referenzdatentypen bezeichnet - ich habe aber noch nie gelesen, dass Auto-Objekte als komplexer Datentyp bezeichnet werden. Warum nicht? Warum wird ein Objekt der Klasse String als Datentyp bezeichnet, ein Objekt der Klasse Auto aber nicht?
2. Ich habe folgenden Code-Ausschnitt:
Java:
public class Test
{
public Test()
{
new Fenster(new ControlClass()).setVisible(true);
}
}
Hier lege ich zwei Objekte an - ein Controller-Objekt und ein Fenster-Objekt. Auf das Objekt der Control-Klasse wird spätestens im Kontruktor des Fenster-Objektes referenziert. Wer referenziert auf Objekt der Fenster-Klasse? Da keine Variable vom Typ Fenster existiert, würde ich vermuten, dass niemand auf das Fenster-objekt referenziert. Folge wäre doch: sobald der GarbageCollector wieder aktiv wird, wird das Fenster-Objekt einkassiert. Wo ist mein Denkfehler?
Vielen Dank für Eure Antworten und schönen Abend!
Florian