Hallo und guten Abend alle zusammen,
ich bin grade dabei meine Java Kenntnisse aufzufrischen und bin jetzt wieder bei OOP angekommen.
Ich drei Klassen geschrieben.
Die erste hier:
Die zweite Klasse hier:
und die letzte hier:
Ich habe hier nur ein kleines Verständnis Problem.
Wenn ich die Main Methode jetzt starte bekomme ich 3 mal null Werte. Hier die Ausgabe:
null
null
null
350
AUDI
A5
Blau
Wenn ich aber aus dem private ein protected mache und dann mit dem Punktoperator auf die Attribute zugreife, dann bekomme ich die richtigen Werte.
Kann mir jemand erklären wo der Fehler von mir ist?
Ich hoffe das Problem ist hier klar.
ich bin grade dabei meine Java Kenntnisse aufzufrischen und bin jetzt wieder bei OOP angekommen.
Ich drei Klassen geschrieben.
Die erste hier:
Java:
public class Main {
public static void main(String[] args) {
Auto a = new BMW("BMW", "M5","Rot",350);
BMW bmw = (BMW) a;
System.out.println(a.getMarke());
System.out.println(a.getModell());
System.out.println(a.getFarbe());
System.out.println(bmw.getPS());
System.out.println("\n");
Auto b = new Auto("AUDI", "A5", "Blau");
System.out.println(b.getMarke());
System.out.println(b.getModell());
System.out.println(b.getFarbe());
}
}
Die zweite Klasse hier:
Java:
public class Auto {
private String marke, modell, farbe;
public Auto(String marke, String modell, String farbe){
this.marke = marke;
this.modell = modell;
this.farbe = farbe;
}
public String getMarke(){
return marke;
}
public String getModell(){
return modell;
}
public String getFarbe(){
return farbe;
}
}
und die letzte hier:
Java:
public class BMW extends Auto{
public int ps;
public String marke, modell, farbe;
public BMW(String marke, String modell, String farbe, int ps){
super(marke, modell, farbe);
this.ps = ps;
}
public String getMarke(){
return marke;
}
public String getModell(){
return modell;
}
public String getFarbe(){
return farbe;
}
public int getPS(){
return ps;
}
}
Ich habe hier nur ein kleines Verständnis Problem.
Wenn ich die Main Methode jetzt starte bekomme ich 3 mal null Werte. Hier die Ausgabe:
null
null
null
350
AUDI
A5
Blau
Wenn ich aber aus dem private ein protected mache und dann mit dem Punktoperator auf die Attribute zugreife, dann bekomme ich die richtigen Werte.
Kann mir jemand erklären wo der Fehler von mir ist?
Ich hoffe das Problem ist hier klar.