-1

我正在尝试了解扩展在 Java 中的使用。

从此代码:

有一个带有 printMethode 的超类

这是一个名为 Subclass 的子类,它覆盖了 printMethod():

public class Subclass extends Superclass {

    // overrides printMethod in Superclass
    public void printMethod() {
        super.printMethod();
        System.out.println("Printed in Subclass");
    }
}
  1. 我们可以使用扩展 printMethod 而不使用 super 吗?

    @Override 
    public void printMethod() {
        System.out.println("Printed in Subclass");
    }
    
  2. super.printMethod()扩展 printMethod 的主体有什么用?

干杯

4

3 回答 3

3

是的。对 super.printMethod 的调用调用父类的版本。有时这是合适的,有时则不是。唯一必须调用超类版本的函数是构造函数。

于 2013-02-26T22:16:12.517 回答
2
  1. 是的。

  2. 它调用printMethod()父类的方法。有时课程有共同的功能,但每个孩子也必须做一些特定的事情。在这种情况下,将其放在父类中的公共部分很方便,并从子类中调用super。

于 2013-02-26T22:16:03.063 回答
1

在这里 super 关键字扩展了父类方法...

如果你有这样的代码格式

class grandfather { name() }
class father extends { name() }
class son extends father
{ 
  super.name() 
}

这个 super.name 实际上调用了祖父类的 name 方法......希望这有帮助

于 2013-02-26T22:23:37.913 回答