2017-03-25 16 views
-1

私は別のクラスでインターフェイスメソッドを実装しようとしています。 FullTimeEmployeeとPartTimeEmployeeのTaxとPRSIを計算するための2つのインターフェイスを作成しました。私はインターフェイスを実装し、Employeeというクラスから各クラスを拡張しました。 クラスが呼び出されているメソッドを実装するために新しいクラスを作成しました。EmplyeeテストFulltimeEmployeeをオブジェクトとして配列リストにグループ化しようとしました。 このクラスのメソッドを実装しようとすると、この型のメソッドが未定義になっています。 私は問題の原因を突きつけようとしばらく過ごしましたが、私は何も見つけることができません。どんな助けでも大歓迎です。メソッドは、型(配列リスト)のために定義されていませんJava

問題を強調するスクリーンショットが含まれていました。私はコードが好まれていることを知っていますが、問題が他のクラスにある可能性があるので、すべてのクラスを表示することにしました。

import java.util.*; 
public class EmployeeTest 
{ 
    public static void main(String[] args){ 

     ArrayList<FullTimeEmployee> empList = new ArrayList<FullTimeEmployee>(); 

     empList.add(new FullTimeEmployee("Adam", "Male","344667", 20000)); 

     empList.display(); 

     empList.putHoursWorked(25); 
     empList.paySlip(); 



    } 

} 

答えて

0

エラーメッセージはかなり明確です。 Employeeクラスに定義されているメソッドListEmployeeにコールしようとしています。

あなたはFullTimeEmployeeのインスタンスでメソッドを呼び出す必要があります:

FullTimeEmployee employee = new FullTimeEmployee("Adam", "Male","344667", 20000); 
employee.putHoursWorked(25); 
employee.paySlip(); 
employee.display(); 

その後の進路あなたはempList.add(employee);

を行うことができます。また、同様に、コレクションから従業員を取得することができます。

empList.get(0)

+0

リストインターフェイスとはどういう意味ですか?私はFullTimeEmployeeを配列リストに渡しました。これはFullTimeEmployeesを持つオブジェクトを作成するのと同じです。 FulltimeEmployeesにはpaySlip()があります。 – Floater92

+0

また、FullTimeEmployeesを=新しいFullTimeEmployeesにしようとしましたが、同じエラーを返しました – Floater92

+0

'empList'は' FullTimeEmployee'ではなく 'List'です。コレクションにオブジェクトを追加しても、コレクションで呼び出せるメソッドには何の影響もありません。コレクションからオブジェクトを取得し、そのメソッドを呼び出すか、コレクションに追加する前にそれを行う必要があります。元の質問を編集してコードを追加してください(画像ではなくテキストとして)。 – RK1

関連する問題