Ich habe die Klasse Vehicle und eine Klasse VehicleApp. In der Klasse Vehicle App erzeuge ich eine Instanz der Klasse Vehicle mit dem Namen Audi.
public class VehicleApp{
Vehicle audi = new Vehicle("Audi", "S5",2012, Color.RED);
System.out.println(audi.getAlter());
}
Das Alter ist bei meiner Klasse eigentlich dadurch bestimmt durch "aktuellesJahr-baujahr" -> 2019 - 2012 = 7. Bei der Ausgabe wird mir jedoch 2019 angezeigt.
import java.util.Calendar;
import javafx.scene.paint.Color;
public class Vehicle {
//aktuelles Jahr
Calendar cal = Calendar.getInstance();
int aktuellesJahr = cal.get(Calendar.YEAR);
//Klassenattribute
private String marke;
private String typ;
private int baujahr;
private Color farbe;
private int alter = aktuellesJahr-baujahr;
//Konstruktor
public Vehicle(String marke, String typ, int baujahr, Color farbe) {
this.marke = marke;
this.typ = typ;
this.baujahr = baujahr;
this.farbe = farbe;
}
//Setter- und Gettermethoden
public int getAlter() {
return alter;
//return aktuellesJahr-baujahr;
}
}
Ändere ich das return-Statement von "return alter;" zu "return aktuellesJahr-baujahr," tritt das gewünschte Ergebnis (Ausgabe 7) ein. Könnt ihr mir eklären warum das return-Statement "return alter;" nicht das gewünschte Ergebnis erzeugt?