- ★★Java質問・相談スレッド169★★
117 :デフォルトの名無しさん[]:2014/05/30(金) 08:25:49.67 ID:prVlFPNP - 質問です。
下記のプログラムがエラーとなります。 原因わかりますでしょうか? interface I1 { int i1(); } interface I2 { int i2(); } class C implements I1, I2 { @Override public int i1() { return 100; } @Override public int i2() { return 200; } } public class Main { public static void main(String[] args) { C c = new C(); set(c); // 引数の場合はI1とI2を実装したC型のオブジェクトを受け付ける。 get(); } private static <T extends I1 & I2> void set(T t) { System.err.println(t.i1()); System.err.println(t.i2()); } private static <T extends I1 & I2> T get() { C c = new C(); return c; //=> エラー!戻り値の場合は受け付けない。 } }
|