java - this 关键字和继承 - Java

标签 java inheritance this

好吧,这一直困扰着我。 (双关语?)

忽略变量类型,因为这不是问题

假设您有一个父类,例如带有变量 ISBN 的图书类。构造函数使用 this.ISBN = bla 设置 ISBN。

现在有一个 child 类。它有一个构造函数,可以调用其中的父构造函数。首先,构造函数是如何形成的?像这样? :

public kidsBook(ISBN, kidVariable) {
   super(ISBN);
   this.kidVariable = kidVariable;
}

这是正确的做法吗?如果是这样,这就引出了第二个问题:来自父类的 this.ISBN,当在子构造函数中调用父类的构造函数时,this 关键字是否引用子版本的 ISBN?

这确实让我感到困惑,我敢打赌我写它的方式表明了这种困惑。

编辑:修复了与问题无关的代码错误。

最佳答案

您走在正确的道路上。您的问题的答案是肯定的。

这是使用正确语法的完整代码

class Book {
    String ISBN;

    Book(String ISBN) {
        this.ISBN = ISBN;
    }
}

class KidsBook extends Book {
    String kidsVariable;
    KidsBook(String ISBN, String kidsVariable) {
        super(ISBN);
        this.kidsVariable = kidsVariable;
    }
}

关于java - this 关键字和继承 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5124861/

相关文章:

c++ - 我应该把这个方法放在哪个类中? C++

javascript - 使用此压缩多次点击和提交功能

java 。我如何使用反射向上转换类型?

java - Java 中的 OHC 缓存

java - 当 stderr 通过管道传输时,python 子进程挂起

inheritance - 实现不安全的 Java 接口(interface)

java - 修复此铸件行为的最简洁方法

java - 为什么这些线程不按顺序运行?

java - 使用关键字this和类名访问静态实例变量的区别

javascript - jQuery 为什么回调函数中的 $(this) 是 "window"?