私はInterfaceと2つのクラスを実装しています。唯一の問題は、どちらのクラスも、インターフェイス内にリストされていないメソッドを持っていることです。プログラムは、従業員ArrayListでのインターフェイスの使用
public class Salaried implements Company
と
public class Hourly implements Company
との2つの別々のクラスを作成できるように設計されて
ArrayList<Company> employees = new ArrayList<Company>();
:私は、インターフェイスタイプのArrayListのを使用してテストクラスを持っています特定のメソッドをそれらと共に使用できるようにします。 2つのクラスはどちらもインタフェースを実装しますが、独自のメソッドも追加しています。
テストクラスでは、作成した別の従業員を格納するためにarrayListを使用して、そのメソッドを後で使用できるようにしようとしています。しかし、私は従業員を作成するときにインターフェイスにないメソッドを使用するので、プログラムはコンパイルされませんし、私はそれらのメソッドを使用させません。
これを修正するにはどうすればよいですか?インターフェース内やクラス内のミスですか?
あなたは、あなたが参照しているどのクラスがわからない場合、Java 8 – Jerry06
がどのようにメソッドを使用することを期待していない場合は、defaultをメソッドを使用できますか? – shmosel
@shmosel私はどのクラスを指しているのか知っています。私の質問は、インターフェイスに含まれていないメソッドを使用するために、リストからアクセスする必要がある場合は、共通のインターフェイスを実装する2つのクラスを単一のarrayListに配置する方法です。 –