gpt4 book ai didi

java - Super() 首先要做的事情

转载 作者:行者123 更新时间:2023-11-30 05:56:10 25 4
gpt4 key购买 nike

所以我有这段代码。

public class HourlyWorker extends Worker {

private int hours;
public HourlyWorker(String name, int salRate,int hours) {
super(name, salRate);
this.hours=hours;
}

@Override
void computePay() {
int pay;
if(hours<60)
{
System.out.println("haha");
pay=super.getSalRate()*hours; //CALLING SUPER HERE.
System.out.println("pay of"+super.getName()+"="+pay);
}

}

}

现在在 Worker 类中,我有这个方法 getSalRate。有人告诉我 super 应该是方法中的第一行代码。但是如果我在这里在中间调用它(给出的表达式);它工作得很好。

有人能告诉我,当有人说“确保 Super 是第一行代码

时,您到底是什么意思?

它只是为了构造函数吗?

最佳答案

第一次调用 super() 的强制只适用于构造函数。即使它被遗漏了,对默认 super() 构造函数的调用也会在编译期间插入。

关于java - Super() 首先要做的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489046/

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