我在使用另一个构造函数调用构造函数时出错

时间:2017-01-10 07:26:18

标签: java constructor

使用最接近任何解决方案的以下代码,我一直收到错误说"("或" ["预期并且根据&#34 ;;&# 34;预期。我不确定我错过了什么。

public class Manager extends SalariedSubordinate implements IManager{

private ArrayList<ISubordinate> listOfSubordinates;
private double managerBonusFund = 5000;
private double baseSalary;

public Manager(double baseSalary, IManager manager, ArrayList<ISubordinate> subordinates) {
    this.baseSalary = baseSalary;
    this.manager = manager;
    this.listOfSubordinates = subordinates;               

}

public Manager(double baseSalary, IManager manager){       
   this(baseSalary, manager, new ArrayList<ISubordinate> subordinates);
}

3 个答案:

答案 0 :(得分:1)

创建新的空数组列表时,通常会这样做:

new ArrayList<SomeType>();

右?

那你为什么要写

new ArrayList<ISubordinate> subordinates

将新数组列表传递给构造函数时? ()的位置在哪里?为什么要添加单词subordinate

所以只需添加()并删除subordinate一词:

this(baseSalary, manager, new ArrayList<ISubordinate>());

答案 1 :(得分:0)

你的第二个构造函数应该如下所示。

public Manager(double baseSalary, IManager manager){       
   this(baseSalary, manager, new ArrayList<ISubordinate>());
}

答案 2 :(得分:-1)

答案已在此处发布(); ...您应该查看创建ArrayList的正确方法,并以更深入的方式更好地理解它。 https://www.tutorialspoint.com/java/java_arraylist_class.htm