首页 > 解决方案 > 继承 void 方法

问题描述

我想知道如何覆盖超类中的 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 方法?

标签: javainheritanceoverriding

解决方案


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

public class Children extends Father {

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

name话虽如此,这是一个非常有问题的设计,如果有一个方法可以接受该参数并从中构建一个字符串,将实际打印留给调用者,可能会更有意义。


推荐阅读