繁体   English   中英

当我们创建子类对象时,super如何引用父类对象?

[英]how can super refer to parent class object when we create a child class object?

当我们创建子对象时,会创建使用父类变量的子类的单个对象。 这是我的理解。 我在很多地方都读过 super 引用父类对象,但这里只创建了一个从父类继承其成员的对象。 父类对象是否是在 super 所指的子类中隐式创建的?我不完全了解人们是如何编写的以及它在哪种上下文中引用父类对象? 当仅单独创建子类对象时。

看看那里的超级含义和用途。 https://docs.oracle.com/javase/tutorial/java/IandI/super.html

基本上,您可以将任何对象视为洋葱,内皮是 Object,外皮是您的对象的类,所有超类都在它们之间。 每个果皮都有自己的属性、类(重载、覆盖或新的)和构造函数(相同)但整个事物是一个对象,每个果皮只看到内核(除了被调用到最外层的覆盖方法)覆盖果皮 - 即在所考虑的果皮声明中尚不存在的方法实现:请参阅https://pretagteam.com/question/calling-an-overridden-method-superclass-an-calls-overridden-method

  1. 如果您的方法覆盖了其超类的方法之一,则可以通过使用关键字 super 来调用被覆盖的方法。
  1. 您还可以使用 super 来引用隐藏字段(尽管不鼓励隐藏字段)。
  1. 您还可以使用 super(...) 来调用特定的超类构造函数(无论它是不是公共的还是需要使用特定参数调用)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM