我想知道如何重寫超類中的 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); 我知道這個(gè)命令不會編譯,但我怎樣才能重寫這個(gè) void 方法呢?
1 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以像任何其他方法一樣覆蓋具有返回類型的方法void,只是不能使用其 super 的返回值,因?yàn)樗鼪]有返回值。例如:
public class Children extends Father {
@Override
public void showName(String name) {
super.showName(name);
System.out.println("my name is: " + name);
}
}
話雖如此,這是一個(gè)非常有問題的設(shè)計(jì),擁有一個(gè)接受該參數(shù)并從中構(gòu)建字符串的方法可能更有意義name,將實(shí)際打印留給調(diào)用者。
添加回答
舉報(bào)
0/150
提交
取消