这里是什么,我想问问的Java多态性如何调用父类方法的子类对象
超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;
}
一个例子,然后在子类是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;
}
所以,如果我创建一个Threename物体ThreeNames example1 = new ThreeNames("Bobby", "Sue" "Smith")
,然后调用System.out.println(example1.initials());
我会得到B.S.S.
我明白了。
我的问题是有没有办法来调用的缩写方法是在名称类,使我的输出就是B.S.
非常感谢您的答案! – 2013-02-16 06:00:34
[使用子类对象访问超类函数](http://stackoverflow.com/questions/2432249/accessing-super-class-function-using-subclass-object) – 2015-01-20 23:16:27