- static class Tab<N extends Number> {
- }
- static class FooTab<N extends Number> extends Tab<N> {
- }
- static class BarTab extends Tab<Double> {
- }
- static class Controller<F extends Tab<? extends Number>> {
- void use(F f) {
- }
- }
- static {
- new Controller<Tab<Double>>().use(new FooTab<Double>());
- new Controller<Tab<Double>>().use(new BarTab());
- }