2017-01-10 184 views
0

使用下面的代码是最接近任何解决方案我不断收到一个错误说“(”或“[”预期和在“;”预期。不敢肯定我错过了什么我与另一个构造函数调用构造函数有一个错误

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); 
} 
+5

'new ArrayList 下属不是你如何初始化一个新的'List',mabye试着用'new ArrayList ()' – SomeJavaGuy

回答

1

当你创建一个新的空数组列表,你通常会做这样的:

new ArrayList<SomeType>(); 

对不对?

那你为什么还要写

new ArrayList<ISubordinate> subordinates 

当你通过一个新的数组列表构造? ()在哪里?为什么添加单词subordinate

所以只需要添加的()和删除单词subordinate

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

谢谢你。我对构造函数不是很好,但对于java来说我相当新。 – lorddalek

+0

@lorddalek如果您认为我的回答可以回答您的问题,请考虑点击该复选标记来对其进行修改! – Sweeper

0

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

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

谢谢你 – lorddalek

相关问题