编译错误:类中的构造函数无法应用于给定类型

2023-12-09

我尝试使用超类中的枚举创建子类对象,但是当我尝试在子类中创建对象时出现此错误。

error: constructor Payroll in class Payroll cannot be applied to given types;
        public PayClaim(int hours, PayLevel level){
                                                  ^
  required: PayLevel
  found:    no arguments
  reason: actual and formal argument lists differ in length
1 error

这是我的超级工资单

public class Payroll{
    
    
    static double OVERTIME_RATE = 1.5;

    static int REGULAR_WEEK = 40;
    static int LEVEL_ONE_PAY = 15;
    static int LEVEL_TWO_PAY = 25;
    static int LEVEL_THREE_PAY = 40;
    
    public enum PayLevel{
        ONE, TWO, THREE
    }
    
    private PayLevel levels;
    public Payroll(PayLevel levels){
        this.levels = levels;
    }
    
    public PayLevel getPayLevel(){
        return levels;
    }
    
    public static void main (String [] args) {
        Payroll.OVERTIME_RATE = 1.75;
        Payroll.REGULAR_WEEK = 40;
        Payroll.LEVEL_ONE_PAY = 12;
        System.out.println(Payroll.calculatePay(35, Payroll.PayLevel.ONE));
    }
    
    public static double calculatePay(int noHoursWorked, PayLevel level){
    //do stuff
    }
    
}

这是我的子类 PayClaim

public class PayClaim extends Payroll{
    
    
    int noHoursWorked;
    public Payroll.PayLevel payLevel;
    double calculatedPay = 0;
    
    public static void main (String [] args) {
        PayClaim p = new PayClaim(1, Payroll.PayLevel.ONE);
        System.out.println(p);
    }
    
    public PayClaim(int hours, PayLevel level){
        
        if(hours > 80 || hours < 1){
            throw new IllegalArgumentException();
        }
        else{
            noHoursWorked = hours;
            payLevel = level;
        }
    }
    
    public int getNoHoursWorked(){
        return noHoursWorked;
    }
    
    public PayLevel getPayLevel(){
        return payLevel;
    }
    
    public double getClaculatedPay(){
        return calculatedPay;
    }
    
    public void setCalculatedPay(double pay){
        //
    }
    
    public String toString(){
        //

}

如果我错过了一些微不足道的事情,我很抱歉,因为代码甚至无法编译,所以我真的很难找到我出错的地方。


我相信您正在寻找的答案非常简单。如果您调用子类的父构造函数,这应该可以解决编译问题。您可以通过以下更改来完成此操作。我所做的更改是在构造函数的开头,它只是调用父构造函数来创建一个对象,因为它是一个子类。

public class PayClaim extends Payroll{
    
    
    int noHoursWorked;
    public Payroll.PayLevel payLevel;
    double calculatedPay = 0;
    
    public static void main (String [] args) {
        PayClaim p = new PayClaim(1, Payroll.PayLevel.ONE);
        System.out.println(p);
    }
    
    public PayClaim(int hours, PayLevel level){
    enter code here

        super(level);
        
        if(hours > 80 || hours < 1){
            throw new IllegalArgumentException();
        }
        else{
            noHoursWorked = hours;
            payLevel = level;
        }
    }
    
    public int getNoHoursWorked(){
        return noHoursWorked;
    }
    
    public PayLevel getPayLevel(){
        return payLevel;
    }
    
    public double getClaculatedPay(){
        return calculatedPay;
    }
    
    public void setCalculatedPay(double pay){
        //
    }
    
    public String toString(){
        //

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译错误:类中的构造函数无法应用于给定类型 的相关文章

随机推荐

  • RequireJS:回调函数中的依赖项和参数的数量不同

    我有遗留代码和这样的模块定义 define a b c d function a b c 您可以看到 依赖项比我们在模块中使用的实际参数多 这有什么意义吗 我认为模块 d 是多余的 这仅意味着模块 d 或者更准确地说 调用 d 工厂函数的结
  • 使用 shell_exec 从 PHP 中调用 Python

    我的默认 Web 应用程序基于 PHP 不过 为了简单起见 我构建了一个 python 脚本来进行一些分析 现在我需要 php 来调用 python 代码并检索 python 代码提供的输出 这两个文件位于同一服务器中 但不在同一文件夹中
  • 使用 重定向

    以下行应保存新项目并重定向到另一个页面 到目前为止 它保存正确 但没有重定向 没有错误或警告
  • WP7中如何改变点击时按钮的颜色?

    在WP7中 每当单击按钮时 按钮的背景就会变成白色 表明该按钮被单击 并在释放鼠标按钮时变得正常 但是我想将按钮选择的颜色从白色更改为橙 色 我该如何点呢 你将不得不玩Visual States那个Button控制 以下是默认样式Butto
  • T-SQL JSON:如何在 JSON 数组中搜索值

    我们正在使用 Azure SQL 并有一个名为 Companies 的表 其中一列包含 JSON JSON 字段的结构为 DepartmentLink https company com ContactName John Doe Conta
  • React hooks useEffect 仅在更新时?

    如果我们想限制useEffect要仅在组件安装时运行 我们可以添加第二个参数useEffect with useEffect gt 但我们怎样才能使useEffect仅在组件更新时运行 初始安装除外 如果您希望 useEffect 仅在除初
  • tf.nn.conv2d 在张量流中做什么?

    我正在查看有关张量流的文档tf nn conv2d here 但我无法理解它的作用或它想要实现的目标 它在文档上说 1 将滤波器展平为具有形状的二维矩阵 filter height filter width in channels outp
  • 如何在 VS2008 中将用户控件构建到独立程序集中?

    更具体地说 在 Visual Studio 2008 中执行此操作与 VS2005 不同时 我需要了解哪些信息 我找到了大量关于在 VS2005 中执行此类操作的参考资料 例如 http webproject scottgu com CSh
  • MySQL 准备语句

    我只是想知道是否有一种方法可以在 MySQL 中使用某种形式的准备好的语句 这样我就不必转义所有输入 也不必将所有文件从 MySQL 切换到 MySQLi 我真的不相信转义函数 所以如果有任何可以在常规 MySQL 中工作的替代方法 那就太
  • 分组集合选择按字母顺序排列的轨道

    我终于弄清楚如何使用动态选择菜单本教程 一切正常 但如何按名称组织下拉列表中的城市 下面是我编写的所有代码 如果您需要更多信息 请告诉我 Rails 新手请帮忙 VIEWS div class field div I would like
  • Jquery UI 自动完成 ajax 未填充下拉框

    我需要帮助 我看不出问题出在哪里 当我在 html 文件中设置自动完成源时 它工作正常 当我在 ajax php 中打印相同的源或数据库值并通过 ajax 返回它时 它不起作用 可能是什么问题呢 请帮助 Html
  • 重载运算符delete,或者如何杀死一只猫?

    我正在尝试重载运算符删除 以便我可以向那些不希望使用智能指针的人返回一个普通指针 但又能够控制何时删除对象 我定义了一个由多个灵魂构造的类 Cat 它有一个不执行任何操作的重载运算符删除 以及减少灵魂数量的析构函数 并且还进行了一些吹牛 当
  • 接下来我应该学习什么 DI/IoC 框架? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我已经使用过 Spring 和 Spring NET 相当多了 但我想看看还有什么 谁能推荐一个我可以尝试学习的好的 Java 或 NET 框架 Here是来自善良的 Hanselman
  • AngularJS $interval 应该动态地增加/减少

    我只想使用 interval anyFunction 1000 但 1000 的值也应该是可变的 如果我通过定义变量来更改它 则视图上的间隔不会改变 有人可以发布一个如何更新 interval 的 速度 的示例吗 非常感谢 万一 我的控制器
  • 如何将 Node.js WebSocket 服务器部署到 Amazon Elastic Beanstalk?

    使用 Elastic Beanstalk Web 控制台 我启动了一个新的 Web Server 1 0 环境 预定义配置 Node js 64 位 Amazon Linux 2014 09 v1 0 9 环境类型 负载均衡 自动缩放 并有
  • 替换颜色图中的颜色

    我使用一条简单的线将 256 色索引图像分解为调色板 import numpy as np from PIL import Image im Image open palette np array im getpalette dtype n
  • 在 .net 中写入 CSV 文件

    我需要将数据集导出为 CSV 文件 我花了一段时间寻找一组可遵循的规则 并意识到编写 CSV 文件时有很多规则和例外 http knab ws blog index php archives 3 CSV file parser and wr
  • numpy.eig 中的特征向量不正交

    我的问题如下 使用 scipy linalg eig 获取特征向量和特征值我发现我所有的特征值都有多重性 1 但是当我运行下面的代码时 它并不能确认特征向量是正交的 因为在这种情况下它们应该是正交的 有什么原因会这样吗 或者如何修复它 im
  • 异步回调内的 Mocha 测试

    我已经简化了这个例子以便能够很好地解释它 我有一个想要迭代的数组 对于数组的每个元素 我想使用 async await 函数执行测试 所以我有以下代码 const chai require chai const expect chai ex
  • 编译错误:类中的构造函数无法应用于给定类型

    我尝试使用超类中的枚举创建子类对象 但是当我尝试在子类中创建对象时出现此错误 error constructor Payroll in class Payroll cannot be applied to given types publi