gpt4 book ai didi

java - 创建从一个类扩展的对象以放入数组列表

转载 作者:行者123 更新时间:2023-12-01 19:04:13 25 4
gpt4 key购买 nike

我正在尝试编写一个工资单程序,它只接收输入,进行一些计算并显示每个员工的输出。

我有两种类型的员工,小时工和薪水。我为每种类型创建了一个扩展为抽象员工类的类:

public abstract class Employee{
private String name;
private String type;
private int hours;
private double rate;
}


public class SalaryEmployee extends Employee{

public SalaryEmployee(String type, String name, int hours, double rate){
this.type = type;
this.name = name;
this.hours = hours;
this.rate = rate;
}

public void print(){

}
}

在我的主要方法中,当我尝试使用以下代码创建对象时:

  Employee employee;
if(type.equals("hourly"))
{
employee = new HourlyEmployee(type, name, hours, rate);
}
else
{
employee = new SalaryEmployee(type, name, hours, rate);
}

当我尝试编译时出现以下错误:

Lab3.java:53: not a statement
SalaryEmployee employee = new SalaryEmployee(type, name, hours, rate);
^
Lab3.java:53: ';' expected
SalaryEmployee employee = new SalaryEmployee(type, name, hours, rate);
^
2 errors

知道这里发生了什么吗?我已经四处寻找困惑的分号或大括号,但还没有找到任何东西。

感谢您的浏览。

最佳答案

在 if 中声明不使用大括号的变量是非法的。看起来你想写的是这样的:

Employee employee;
if(type.equals("hourly"))
employee = new HourlyEmployee(type, name, hours, rate);
else
employee = new SalaryEmployee(type, name, hours, rate);

大多数编码约定都支持在 if 或 else 后始终使用大括号。

关于java - 创建从一个类扩展的对象以放入数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825747/

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