/* package whatever; // don't place package name! */
interface A
< T
extends Number , R
> { R foo( T t) ;
}
interface B
< S
extends String , U
> { S foo( U u) ;
}
class C
< T
extends Number , R, S
extends String , U
> implements A
< T, R
> , B
< S, U
> {
}
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
( String [ ] args
) {
// your code goes here
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW50ZXJmYWNlIEE8VCBleHRlbmRzIE51bWJlciwgUj4gewogICAgUiBmb28oVCB0KTsKfQoKaW50ZXJmYWNlIEI8UyBleHRlbmRzIFN0cmluZywgVT4gewogICAgUyBmb28oVSB1KTsKfQoKY2xhc3MgQzxUIGV4dGVuZHMgTnVtYmVyLCBSLCBTIGV4dGVuZHMgU3RyaW5nLCBVPiBpbXBsZW1lbnRzIEE8VCwgUj4sIEI8UywgVT4gewoKfQoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgCgl7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJfQp9
compilation info
Main.java:11: error: C is not abstract and does not override abstract method foo(T) in A
class C<T extends Number, R, S extends String, U> implements A<T, R>, B<S, U> {
^
where T,R are type-variables:
T extends Number declared in class C
R extends Object declared in class C
1 error
stdout