私はいくつかの生産コードを探していた、と私はこの説明を見た型として(オブジェクト)型としてのインターフェイスを使用して
をインタフェースを使用しての概念に少し混乱しているhttp://download.oracle.com/javase/tutorial/java/IandI/interfaceAsType.html
それはisLargerThan(obj2)
関数呼び出しのためのロジックを取得する場所
Relatable
がインターフェイスである
public Object findLargest(Object object1, Object object2) {
Relatable obj1 = (Relatable)object1;
Relatable obj2 = (Relatable)object2;
if ((obj1).isLargerThan(obj2) > 0)
return object1;
else
return object2;
}
が、私は理解していない:
は、ここで以下のコードです。
誰かが私にこのことを明確にすることはできますか?
オブジェクトがインターフェイスを実装していない場合、どうなるのか知っていますか? – Albinoswordfish
@ Albinoswordfish(Relatable)object1にClassCastExceptionが存在します。 – ILMTitan
例外をスローします。 http://download.oracle.com/javase/tutorial/java/IandI/subclasses.html 例外がスローされる前に、有効なキャストをチェックするために 'instanceof'演算子を使用できます。 – Mehrdad