Problem beim Objekteaufruf...

Status
Nicht offen für weitere Antworten.
Hallo liebe Java-Gemeinde!

Das ist mein erster Post und ich hoffe ihr könnt mir helfen. Ich bin noch ein blutiger Anfänger und stehe total aufn Schlauch. Ich weiss auch nicht wirklich, mangels Formulierungsprobleme, wie ich das googlen kann...

Nun zum eigentlichen Problem:

Ich habe 3 Klassen. Eine Klasse Auto,
Java:
public class Auto {

	String marke;
	String typ;
	int baujahr;
	
	public Auto(){};
	public Auto(String marke, String typ, int baujahr){
		this.marke = marke;
		this.typ = typ;
		this.baujahr = baujahr;
	}
	public String getMarke() {
		return marke;
	}
}
eine Klasse Fabrik
Java:
public class Fabrik {
	String name;
	
	public Fabrik(){}	
	public void autoBauen(){
		Auto audi = new Auto( "Audi", "Quattro", 2008);
	}
}
und eine Main-Klasse.
Java:
public class Main {
	public static void main(String[] args) {

	Fabrik fabrik = new Fabrik();
	fabrik.autoBauen();
	audi.getMarke(); [<-- ???]
	}
}

Wie kann ich in der Main Klasse auf das Auto-Objekt, das in der Klasse Fabrik erstellt wurde, zugreifen?

Danke, für eure Mühen und bitte habt Nachsicht 😳
 
Gib auto mit der Methode zurück:

Java:
public class Fabrik {
    String name;
    
    public Fabrik(){}   
    public Auto autoBauen(){
        Auto audi = new Auto( "Audi", "Quattro", 2008);
        return audi;
    }
}

In der Main:
Java:
Auto audi = fabrik.autoBauen();
 
Die Methode autoBauen muss das neue Auto natürlich auch zurückgeben, ansonsten vergammelt es in der Fabrik:
Java:
public class Fabrik {
    String name;
    
    public Fabrik(){}   

    public Auto autoBauen(){
        return new Auto( "Audi", "Quattro", 2008);
    }
}

In der main kannst du jetzt aufrufen:
Java:
Auto meinNeuesAuto = fabrik.autoBauen();
System.out.println(meinNeuesAuto.getMarke());

€dit: Zu spät^^ das kommt davon wen man den Tab bereits 20 Minuten vorher geöffnet hat und ihn nicht aktualisiert, bevor man sich alle vorhandenen Beiträge durchliest.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben