Java-Polymorphismus So rufen Sie eine Superklassenmethode für Unterklassenobjekte auf
Hier ist ein Beispiel dafür, was ich zu fragen versuche
Oberklasse Name.java
public class Name{
protected String first;
protected String last;
public Name(String firstName, String lastName){
this.first = firstName;
this.last = lastName;
}
public String initials(){
String theInitials =
first.substring(0, 1) + ". " +
last.substring(0, 1) + ".";
return theInitials;
}
und dann ist die Unterklasse ThreeNames.java
public class ThreeNames extends Name{
private String middle;
public ThreeNames(String aFirst, String aMiddle, String aLast){
super(aFirst, aLast);
this.middle = aMiddle;
}
public String initials(){
String theInitials =
super.first.substring(0, 1) + ". " +
middle.substring(0, 1) + ". " +
super.last.substring(0, 1) + ".";
return theInitials;
}
Also, wenn ich ein Threename-Objekt mit erstelleThreeNames example1 = new ThreeNames("Bobby", "Sue" "Smith")
und dann anrufenSystem.out.println(example1.initials());
ich werde bekommenB.S.S.
Ich verstehe das.
Meine Frage ist, gibt es eine Möglichkeit, die Initialen-Methode aufzurufen, die in der Name-Klasse ist, so dass meine Ausgabe nur istB.S.