1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| class Main {
|
| class Foo { }
|
| interface GenericBase <F> { }
|
| class GenericDerived <F extends Foo> implements GenericBase<F> { }
|
| private <B extends Foo> void foo(GenericBase<B> g) { }
|
| private <D extends Foo> void foo(GenericDerived<D> g) { }
|
| void bar() {
| GenericDerived<Foo> gd = new GenericDerived<>();
| foo(gd);
| }
| }
|
|