1 package p; 2 3 class A<T>{ 4 T thing; 5 getThing()6 public T getThing() { 7 return thing; 8 } 9 setThing(T t)10 public void setThing(T t) { 11 thing= t; 12 } 13 } 14 15 class B { 16 static { 17 A a= new A(); 18 Object o= a.thing; 19 20 A<Number> an= new A<Number>(); 21 an.setThing(Double.valueOf(1.3d)); 22 23 A<? extends Number> at= new A<Integer>(); 24 Number tee=at.getThing(); 25 at.setThing(null); 26 } 27 }