G
Guest
Gast
Hallo,
ich habe da eine Frage in Bezug auf Vererbung.
Ich besitze eine Superklasse Person, die 2 private Variablen und öffentliche Methoden zum auslesen der Werte enthält. Dann habe ich eine Subklasse Schüler, die dann die entsprechende Basisklasse nur noch um eine Variable erweitert.
Versuche ich jedoch aus der Subklasse die Werte aus der Basisklasse mittels toString() auszugeben, falle ich mächtig auf die Schnauze.
Dabei erhalte ich bei der Anweisung System.out.println(s1) noch folgenden Text:
Die Person heißt Thomas Impega
Bei der zweiten erhalte ich dann aber ...
Name lautet null null an der Schule Ludwig-Erhard-Schule
Vielleicht kann mir ja jmd sagen warum ich in der letzten Anweisung 2 NULL-Werte bekomme?
Gruß
Thomas
ich habe da eine Frage in Bezug auf Vererbung.
Ich besitze eine Superklasse Person, die 2 private Variablen und öffentliche Methoden zum auslesen der Werte enthält. Dann habe ich eine Subklasse Schüler, die dann die entsprechende Basisklasse nur noch um eine Variable erweitert.
Versuche ich jedoch aus der Subklasse die Werte aus der Basisklasse mittels toString() auszugeben, falle ich mächtig auf die Schnauze.
Code:
public class Person {
private String vorname;
private String name;
/** Creates a new instance of Person */
public Person() {
}
public void setVorname(String vorname) {
this.vorname = vorname;
}
public String getVorname() {
return vorname;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public String toString() {
return "Die Person heißt " + vorname + " " + name;
}
Code:
public class Schueler extends Person {
private String schule;
public Schueler() {
}
public void setSchule(String Schule) {
this.schule = schule;
}
public String getSchule() {
return schule;
}
public String toString() {
return "Name lautet " + getVorname() + " " + getName() + " an der " + schule;
}
}
Code:
import java.io.*;
public class Student_Person_Test {
public static void main(String[] args) throws IOException {
Person p1 = new Person();
Schueler s1 = new Schueler();
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Bitte Vornamen eingeben: ");
String vorname = eingabe.readLine();
p1.setVorname(vorname);
System.out.print("Bitte Namen eingeben: ");
String name = eingabe.readLine();
p1.setName(name);
System.out.print("Bitte Schule angeben: ");
String Schule = eingabe.readLine();
s1.setSchule(Schule);
System.out.println(p1);
System.out.println(s1);
}
Dabei erhalte ich bei der Anweisung System.out.println(s1) noch folgenden Text:
Die Person heißt Thomas Impega
Bei der zweiten erhalte ich dann aber ...
Name lautet null null an der Schule Ludwig-Erhard-Schule
Vielleicht kann mir ja jmd sagen warum ich in der letzten Anweisung 2 NULL-Werte bekomme?
Gruß
Thomas