2017-01-10 215 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

相關問題