我想知道如何重寫超類中的 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
提交
取消