gpt4 book ai didi

java - 这个升级演示如何运作?

转载 作者:行者123 更新时间:2023-12-02 10:57:06 26 4
gpt4 key购买 nike

我创建了一个向上转型演示,我不明白这段代码是如何工作的,或者我可以更具体地说为什么在派生类完成调度时也调用基类的构造函数。甚至没有调用基类的构造函数。除了如何调用基类的构造函数之外,我什至没有在任何地方使用 super 关键字。

class Base{
int value =0;
Base(){

addValue();
}
void addValue(){

value+=10;
}
int getValue(){
return value;
}

}
class Derived extends Base{

Derived()
{
addValue();
}
void addValue(){
value+=20;
}
}
class Test{
public static void main(String args[]){
Base b=new Derived();
System.out.println(b.getValue());
}
}

最佳答案

当您创建新的 Derived 对象时,将调用其构造函数。由于Derived有一个父类(super class)Base,它的构造函数将首先被调用。在构造函数中,将调用重写的方法 addValue,从而得到临时值 20。之后,调用 DerivedaddValue并向 value 添加另外 20。最终结果是40。

由于您自己没有使用 super 调用父类(super class)的构造函数,Java 会自动执行此操作:

Derived() {
super();
addValue();
}

关于java - 这个升级演示如何运作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51636345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com