引数の1つが特定のクラス(MyClass
)に由来し、インターフェイス(MyInterface
)を実装するメソッドを作成しています。これを行うためのメソッドの引数が1つのクラスから継承し、インターフェイスを実装することを指定します。
粗製の方法はMyClass
がMyInterface
を実装していない、との両方が、私は彼らがそうであるようにインポートするクラスであることを
public void doStuff(MyClass arg0) {
if (!(arg0 instanceof MyInterface))
throw new IllegalArgumentException("arg0 must implement MyInterface");
// do whatever we need to do
}
注だろう。
これを行うより洗練された方法があります。できれば、ビルド時にすでにエラーが発生している可能性がありますか?
あなたは、次の一般的な方法でそれを行うことができます
「public void doStuff(MyInterface someclass)」はどうなっていますか? MyClassにMyInterfaceを実装させるだけですか? –
@blahfunkどちらのクラスも単なるインポートなので、オプションではありません。私はその質問を明確にした。 – user149408