java - 当调用super方法时,i指的是什么?

标签 java superclass super

我正在尝试学习 super 的概念。有人可以告诉我 super(i) 中的 i 指的是什么吗?

它是NaturalNumber类中的私有(private)int变量i吗?它是 NaturalNumber 中的参数吗? 它是否指的是其他东西?我对语法很困惑。

 class NaturalNumber {

    private int i;

    public NaturalNumber(int i) { this.i = i; }
    // ...
}

class EvenNumber extends NaturalNumber {

    public EvenNumber(int i) { super(i); }
    // ...
}

最佳答案

在您的示例中,它是 EvenNumber 的构造函数参数。调用 super(i) 将构造函数参数传递给父类(super class)构造函数(按值传递,因为它是原语)。然后,父类(super class)构造函数将该值存储在私有(private)字段中。

关于java - 当调用super方法时,i指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34521798/

相关文章:

java - 泛型:Treeset 添加子类

Java抽象变量(父类(super class)使用子类的String)

ecmascript-6 - super 关键字出乎意料

perl - SUPER 伪类是如何在 perl 中解析的?

java-如何在 JPA 中返回电子邮件的多列?

java - 如何从 Java 应用程序设置 Https 连接

java - 检查 List<int[]> 是否包含给定的 int[]

java - 只有最后一个子字符串在 java for 循环中被测试

java - 使用 'super' 关键字绑定(bind)泛型

c++ - 父类(super class)函数可以访问子类数据成员吗