1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
package p;
class A {
public static void main(String[] args) {
new Generic<Number>().take(Double.valueOf(1));
new Generic<Integer>().take(Integer.valueOf(2));
new Impl().take(Integer.valueOf(3));
new Impl().take(Float.valueOf(4));
Generic<Number> gn= new Impl();
gn.take(Integer.valueOf(6));
gn.take(Double.valueOf(7));
}
}
class Generic<G> {
void /*target*/take(G g) { System.out.println("Generic#take(G): " + g); }
}
class Impl extends Generic<Number> {
void take(Integer g) { System.out.println("nonripple Impl#take(Integer): " + g);}
// void take(Number g) { System.out.println("Impl#take(Number): " + g); }
}
|