я задаюсь вопросом, почему только можно установить данные в конструкторе, если я определю таким образом:
public Auto(int ps, String kennzeichen) {
super(ps,kennzeichen);
this.ps = ps;
this.kennzeichen = kennzeichen;
}
Если я оставлю this.ps и this.kennzeichen, он будет инициализирован нулем. Я думал, что 'super' определяет наследование данных от моего конструктора класса Vehikel.
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;
}
Спасибо.