The <A extends B> syntax applies even if B is an interface because 1) it doesn't matter operationally if B is a class or an interface and 2) if B is a type parameter, the compiler doesn't know a priori whether it is a class or an interface.
Since Java allows multiple inheritance in the form of implementing multiple interfaces, it is possible that multiple bounds are necessary to specify a type parameter. To express this situation, one uses the following syntax:
Since Java allows multiple inheritance in the form of implementing multiple interfaces, it is possible that multiple bounds are necessary to specify a type parameter. To express this situation, one uses the following syntax:
<T extends A & B & C & ...>For instance:
interface A {
...
}
interface B {
...
}
class MultiBounds<T extends A & B> {
...
}
No comments:
Post a Comment