Ciao. Allora quando tu crei una sottoclasse da una classe la parola super deve essere la prima che appare nel costruttore. Ad esempio:
public class Prova{
public String name;
public Prova( String nome ){
name = nome;
}
}
public class Prova2{
public String cognome;
public Prova2( String nome, String cogno ){
cognome = cogno;
super( nome );
ERRATO
}
}
La classe scritte sopra ( + esattamente la Prova2 ) è ERRATA; infatti se il compilatore non trova super( nome ); come prima istruzione, va nella superclasse ( e cioè Prova ) e cerca il costruttore di default ( quello che non accetta parametri in ingresso ); se non lo trova ti da l'errore che hai visto. Se scrivi Prova2 in quasta maniera:
public class Prova2{
public String cognome;
public Prova2( String nome, String cogno ){
super( nome );
cognome = cogno;
}
}
Dovrebbe abdare; tornando al tuo esempio, dovresti, secondo me, scrivere la classe in questa maniera:
public class Mitglied extends Person{
protected String Eintrittsdatum;
protected double Mitgliedsbeitrag;
protected String OutputMitglied;
public Mitglied(String Eintrittsdatum, double Mitgliedsbeitrag){
super(PersonalNummer, Nachname, Vorname, Alter, Gehalt, MitgliedVerify);
this.Eintrittsdatum = Eintrittsdatum;
this.Mitgliedsbeitrag = Mitgliedsbeitrag;
}
public String getMitglied(){
this.OutputMitglied = "Eintrittsdatum: " + this.Eintrittsdatum + "\n";
this.OutputMitglied += "Vorname: " + this.Vorname + "\n";
this.OutputMitglied += "Mitgliedsbeitrag: " + this.Mitgliedsbeitrag + " EURO\n";
return this.OutputMitglied;
}
}