Hallo!
Ich habe erst einmal eine Klasse Ausweis mit den zugehörigen Attributen erstellt und einer Methode toString(), die aus der Main Klasse die Namen etc. bekommt. Stimmt dieser toString so und ist diese Methode dafür da, das die Ausgabe in der Main Klasse nicht in so einem komischen Hashcode erfolgt? Und was genau macht die Methode print, mit this.toString(). Das @Override wurde mir gesagt ist notwendig, aber ich verstehe nicht genau den Sinn dahinter.
Nun möchte ich die Attribute an eine andere Klasse vererben.
Meine Frage hierzu ist, ob ich in der Main Klasse den Vornamen, Nachnamen und das geschlecht aus der Superklasse einfügen kann, ohne es selber nochmal ausfüllen zu müssen? Also so, dass ich nur die Matrikelnummer ergänzen muss. Und muss ich in der toString() Methode mit Gettern arbeiten?
Liebe Grüße!
Ich habe erst einmal eine Klasse Ausweis mit den zugehörigen Attributen erstellt und einer Methode toString(), die aus der Main Klasse die Namen etc. bekommt. Stimmt dieser toString so und ist diese Methode dafür da, das die Ausgabe in der Main Klasse nicht in so einem komischen Hashcode erfolgt? Und was genau macht die Methode print, mit this.toString(). Das @Override wurde mir gesagt ist notwendig, aber ich verstehe nicht genau den Sinn dahinter.
Java:
public class Ausweis {
private String vorname;
private String nachname;
private String geschlecht;
public Ausweis(String vorname, String nachname, String geschlecht) {
this.vorname = vorname;
this.nachname = nachname;
this.geschlecht = geschlecht;
}
//getter und setter
public static void main(String[] args) {
Ausweis ausweis = new Ausweis("Harry", "Derp", "M");
System.out.println(ausweis);
}
public void print() {
System.out.println(this.toString());
}
@Override
public String toString() {
return "Vorname: " + vorname + "\nNachname: " + nachname + "\nGeschlecht: " +geschlecht;
}
}
Nun möchte ich die Attribute an eine andere Klasse vererben.
Java:
public class Studentenausweis extends Ausweis {
int matrikelnummer;
public Studentenausweis(String vorname, String nachname, String geschlecht, int matrikelnummer) {
super(vorname, nachname, geschlecht);
this.matrikelnummer = matrikelnummer;
}
public int getMatrikelnummer() {
return matrikelnummer;
}
public void setMatrikelnummer(int matrikelnummer) {
this.matrikelnummer = matrikelnummer;
}
public static void main(String[] args) {
Studentenausweis s = new Studentenausweis("Harry", "Derp", "M", 501421);
System.out.println(s);
}
public void print() {
System.out.println(this.toString());
}
@Override
public String toString(){
return "Vorname:" + getVorname() + "\nNachname:" + getNachname() + "\nGeschlecht:" + getGeschlecht() + "\nMatrikelnummer: " + matrikelnummer;
}
}
Liebe Grüße!