当前位置: 首页 > 知识库问答 >
问题:

如何修复“无法应用于”错误?[重复]

齐典
2023-03-14

我是Java的新手,尤其是Java的面向对象编程,我一直收到这个让我发疯的错误。

以下是我的员工超类的一部分:

public Employee(String firstName, String lastName, String socialSecurityNumber) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.socialSecurityNumber = socialSecurityNumber;
}
private final String firstName;
private final String lastName;
private final String socialSecurityNumber;

public String getFirstName() {
    return firstName;
}

public String getLastName() {
    return lastName;
}

public String getSocialSecurityNumber() {
    return socialSecurityNumber;
}

以及子类CommissionEmployee:

public CommissionEmployee(String firstName, String lastName, 
String socialSecurityNumber, double grossSales, 
double commissionRate)
{
  this.firstName = firstName;                                    
  this.lastName = lastName;                                    
  this.socialSecurityNumber = socialSecurityNumber;         
  this.grossSales = grossSales;
  this.commissionRate = commissionRate;
}

我得到的相同错误是:

constructor Employee in class Employee cannot be applied to given types;
required: String,String,String
found: no arguments
reason: actual and formal argument lists differ in length

这到底是什么意思,是什么原因导致的,我如何修复它?

共有1个答案

柯星辰
2023-03-14

由于CommissionEmployee是Employee的子类,Java要求在构造CommissionEmployee时调用Employee的构造函数。默认情况下,这是对无参数构造函数Employee()的调用,在您的情况下,该构造函数不存在。

您有两种选择:

>

public CommissionEmployee(String firstName, String lastName, 
String socialSecurityNumber, double grossSales, 
double commissionRate)
{
  super(firstName, lastName, socialSecuityNumber);  
  this.grossSales = grossSales;
  this.commissionRate = commissionRate;
}

创建一个无参数超类构造函数,并在子类构造函数中设置名字/姓氏和SSN(不太理想)。超类(Employee)构造函数受保护,因此只能由子类调用,如下所示:

protected Employee() {}
 类似资料:
  • 我收到此错误: 电动汽车.java:第 6 行:构造函数 类汽车中的汽车不能应用于给定的类型; 我不确定为什么会这样,因为ElectricCar构造函数没有引用超类(除了扩展它的类)。我该如何解决这个问题? 这是我的代码: CarTester.java: 电动汽车.java:(此类的第 6 行出现错误) } 汽车. java: }

  • 事实上,我在拉威尔是个新手,我正试图创建我的第一个项目。由于某些原因,我一直遇到这个错误(我甚至还没有开始编码) 我读到这与权限有关,但是chmod-R 775存储没有任何帮助。

  • 我创建自定义插件,我有表wp_customers,我试图选择我表中的所有东西,但wordpress只是显示给我致命错误:未捕获错误:调用成员函数get_results()在C:\xampp\htdocs\wordpress\wordpress\wp-内容\plugins\rflreway\Public\show R中为空esult.php:4堆栈跟踪:#0{main}在第4行的C:\xampp\h

  • 当我尝试构建我的android应用程序时,我如何修复这个问题。我将实现'com.google.android.gms:play-services-ads:19.8.0'更新为实现'com.google.android.gms:play-services-ads:20.4.0',现在我得到了这个错误。 jetified-play-services-measurement-18.0.2-runtime

  • 我发现了一个mysql创建表语法错误,希望有人能在我失去理智之前发现它。 错误1064(42000):您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,以了解在第2行“int not null auto_increment,Client_ID int not null,Start_Time varchar(5),star”附近使用的正确语法 mysql Ver 14.14

  • 我正试图在我的本机代码中初始化CI的函数。 我得到一个错误的解析错误:语法错误,意外的[ 我能问一下如何解决这个问题吗? 使用PHP5.3.3