gpt4 book ai didi

java - 提供参数时构造函数显示 'found no arguments'

转载 作者:行者123 更新时间:2023-11-30 02:35:08 27 4
gpt4 key购买 nike

新成员,第一次海报。请原谅我的问题中的任何错误或失礼。

父类(super class):

public Person(String n,String pos, String db, String dW, TimePeriods tP,double bS,IManager m){
setName(n);
position=Position.valueOf(pos);
dob=LocalDate.parse(db);
dateWorking=LocalDate.parse(dW);
timePeriod=tP;
baseSalary=bS;
}

子类:

private CEO(String n,String pos, String dob, String dW, TimePeriods tP,double bS, IManager m){
}

我的错误,发生在子类 CEO 构造函数上:

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

任何人都可以帮我找出为什么它找不到我的论点吗?

最佳答案

因为您没有在 CEO 类构造函数中调用 Person 构造函数(使用 super(..)),所以编译器会尝试在 CEO 构造函数的第一行添加默认的 super()

但是,调用默认的 super() 无法编译,因为您没有 Person 类的零参数构造函数

因此,在您的 CEO 类中添加 super(n, pos, dob, etc..) 调用,如下所示:

public CEO(String n,String pos, String dob, 
String dW, TimePeriods tP,double bS, IManager m){
super(n, pos, dob, dw, tP, bS, m);//calls superclass i.e., Person constructor
}

此外,您的类的构造函数有巨大的参数列表,这非常难以阅读/维护,我强烈建议您需要考虑使用构建器模式重构您的类(查看 here ),这样可以降低复杂性,并且代码易于阅读和维护。

关于java - 提供参数时构造函数显示 'found no arguments',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43292255/

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