class ClassA{ void met(T t){ } } class ClassB extends ClassA { void met(Number n){ System.out.println("Number!"); } @Override void met(Integer n){ System.out.println("Integer!"); } } class Samp03 { public static void main(String[] args){ ClassB cb = new ClassB(); Integer i = new Integer(10); cb.met(i); cb.met((Number)i); } }