Objekt in Objekt erzeugen

Hallo zusammen,

ich lerne jetzt seit drei Monaten im Studium Java und bin auf ein Problem gestoßen, zu dem ich keine für mich logische Lösung finde. Leider kann ich noch nicht so viel Java, wie ich es gern könnte.

Und zwar erstelle ich innerhalb einer erzeugten Instanz eine weitere Instanz einer anderen Klasse, in etwa so:

Java:
public class Autovermietung {
	private static ArrayList<Kraftfahrzeug> autoListe;
	
	public Autovermietung() {
		autoListe = new ArrayList<Auto>();
	}
	
	public static void main(String[] args) {
		Autovermietung ABS = new Autovermietung();
		
		Auto golf1 = new Kleinwagen("Golf 4");
		ABS.autoListe.add(golf1);
}

Mein Problem ist nun, dass ich das ABS.autoListe.add(golf1); gerne irgendwie "automatisch" hätte, am besten im Konstruktor, was ja durch das statische ABS nicht funktioniert.
Muss ich mir dazu eine Art "Ersatzkonstruktor" bauen oder gäbe es da noch eine bessere/elegantere Lösung?
Ansonsten bliebe mir als (für mich sichtbare) Alternative nur, dass die Autovermietung keine Instanz ist, die ich erzeuge, sondern einfach nur statische Elemente enthält und als "Träger" dient.

Grüße,
schattenjaeger
 
Die main einfach rauswerfen.. dann braucht die ArrayList auch nicht static sein. Dann schreibst du dir eine Klasse Test z. B., da kannst du dann eine neue Autovermietung erstellen. In der Autovermietung kannst du dir dann ja eine Methode erstellen zum Fahrzeug hinzufügen. Etwa:

Java:
public void addKleinwagen(String name){
    Auto a = new Kleinwagen(name);
    autoListe.add(a)
}

oder/und:

Java:
public void addKleinwagen(Auto a){
    autoListe.add(a)
}

Je nachdem, wie es dein Code erfordert.
 

Neue Themen


Zurück
Oben