Moinsen, bin gerade wieder bisschen am coden und habe meine erste eigene Exception Klasse deklariert. Aufgabe ist es eigene Ausnahmeklasse zu deklarieren, mit einer dazugehörigen Klasse Person. Sofern ein Objekt dieser Klasse erzeugt wird, soll eine PersonException ausgelost werden, falls der Nachname leer ist oder das Alter kleiner als 0 oder größer als 150 gesetzt wird.
Meine Frage ist nun, was genau der super Konstruktor genau macht (Zeile 8 in meiner Klasse PlayerException). Warum muss ich hier super() aufrufen?
Java:
public class PlayerException extends RuntimeException{
//Standardkonstruktor
PlayerException() {}
//Parametisierter Konstruktor
PlayerException(String s) {
super (s);
}
}
Java:
public class Person {
//Attribute
private String vorname;
private String nachname;
private int alter;
Person() {}
//Konstruktor
Person (String vorname, String nachname, int alter) {
if (nachname == "" || alter < 0 || alter > 150)
{
throw new PlayerException ("Entweder kein Nachname oder alter < 0 ");
}
this.vorname = vorname;
this.nachname = nachname;
this.alter = alter;
}
Java:
public class main {
public static void main(String[] args) {
try
{
Person dummy = new Person("Dagobert", "Duck", 151);
System.out.println(dummy.getVorname() + dummy.getNachname() + dummy.getAlter());
}
catch (PlayerException pe)
{
System.out.println(pe.getMessage());
}
}
}
Meine Frage ist nun, was genau der super Konstruktor genau macht (Zeile 8 in meiner Klasse PlayerException). Warum muss ich hier super() aufrufen?