class Test2 { public Test2() {
        System.out.println("Test2");  }
} class Test3 extends Test2 { public Test3() {
        System.out.println("Test3");  }
} public class TempTest { public TempTest(Test2 o){
        System.out.println("TempTest.Test2");  } public TempTest(Test3 o){
        System.out.println("TempTest.Test3");  } public static void main(String args[]){
        TempTest t=new TempTest(null);  }

}
事实证明, null会先找带子类形参的构造函数; 如果没有子类的, 再找带父类形参的构造函数. 是一个向上寻找的过程.