class A extends Object{} class B extends A{} public class Test { public void myMethod(Object o) { System.out.println("My Object"); } public void myMethod(A s) { System.out.println("My A"); } public void myMethod(B m){ System.out.println("My B"); } public static void main(String args[]) { Test t = new Test(); t.myMethod(null); } }输出结果 My B
还有就是你的两个构造函数都是有参数的.而你创对 对象时却不给参数,,所以.....
class B extends A{}
public class Test {
public void myMethod(Object o) {
System.out.println("My Object");
}
public void myMethod(A s) {
System.out.println("My A");
}
public void myMethod(B m){
System.out.println("My B");
}
public static void main(String args[]) {
Test t = new Test();
t.myMethod(null);
}
}输出结果
My B