package p; | |
class C { | |
} | |
interface I { | |
} | |
public class Foo<T extends C & I> { | |
/** | |
* @param <T> | |
* @param <U> | |
* @param foo | |
* @return | |
*/ | |
public static <T extends C & I, U extends C & I> Foo<U> getX(Foo<T> foo) { | |
return foo.getX(); | |
} | |
<U extends C & I> Foo<U> getX() { | |
return null; | |
} | |
Foo<?> f2 = Foo.getX(this); | |
} |