im wondering why only can set the data in the constructor if i define in in that way:
public Auto(int ps, String kennzeichen) {
super(ps,kennzeichen);
this.ps = ps;
this.kennzeichen = kennzeichen;
}
If i leave this.ps and this.kennzeichen it will be initialized with null. I thought 'super' defines to inherit the data from my Vehikel-class-constructor.
Main:
public class Main {
public static void main(String[] args) {
ArrayList vehikel = new ArrayList();
Scanner scinner = new Scanner(System.in);
boolean eingabeFortf = true;
Auto auto = new Auto(12, "HE-ML 123");
System.out.println(auto.getKW());
System.out.println(auto.getKennzeichen());
System.out.println(auto.getPS());
Vehikel:
public abstract class Vehikel {
private int ps;
private String kennzeichen;
public final double uFaktor = 0.735;
public Vehikel(int ps, String kennzeichen) {
this.ps = ps;
this.kennzeichen = kennzeichen;
}
Auto:
public class Auto extends Vehikel {
private String kennzeichen;
private int ps;
private double kW;
private boolean mayDriveOnH;
private double steuer = 0;
public Auto(int ps, String kennzeichen) {
super(ps,kennzeichen);
this.ps = ps;
this.kennzeichen = kennzeichen;
}
Thanks.