我想知道如何重写超类中的 void 方法:public class Father{ public void showName(String name){ System.out.println("My name is :"name); }}public class Children extends Father{ public void showName(String name) { super.showName()+System.out.println("my name is: "+name); }}super.showName()+System.out.println("my name is: "+name); 我知道这个命令不会编译,但我怎样才能重写这个 void 方法呢?
1 回答
森林海
TA贡献2011条经验 获得超2个赞
您可以像任何其他方法一样覆盖具有返回类型的方法void,只是不能使用其 super 的返回值,因为它没有返回值。例如:
public class Children extends Father {
@Override
public void showName(String name) {
super.showName(name);
System.out.println("my name is: " + name);
}
}
话虽如此,这是一个非常有问题的设计,拥有一个接受该参数并从中构建字符串的方法可能更有意义name,将实际打印留给调用者。
添加回答
举报
0/150
提交
取消