继承void方法

时间:2019-07-05 18:06:07

标签: java inheritance overriding

我想知道如何覆盖超类的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 个答案:

答案 0 :(得分:2)

您可以像其他任何方法一样覆盖具有返回类型void的方法,只是不能使用其上级的返回值,因为它没有返回值。例如:

public class Children extends Father {

    @Override
    public void showName(String name) {
        super.showName(name);
        System.out.println("my name is: " + name);
    }
}

已经说过,这是一个非常值得商design的设计,并且拥有一个采用该name参数并从中构造一个字符串,然后将实际打印留给调用者的方法可能更有意义。 / p>