2017-01-10 8 views
0

次のコードを使用すると、私は "("または "[expected"と "expected" 「私が行方不明です何分からない他のコンストラクタを使用してコンストラクタを呼び出す際にエラーが発生しました

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

'新しいArrayList 従属者は新しい' List'をどのように初期化しないのですか? '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

関連する問題