代码如下
public class TT {
public void myMethod(Object o) {
System.out.println("My Object");
}
public void myMethod(String s) {
System.out.println("My String");
}
public static void main(String args[]) {
TT t = new TT();
t.myMethod(null);
}
}
输出结果是:My String 求高人解释
public class TT {
public void myMethod(Object o) {
System.out.println("My Object");
}
public void myMethod(String s) {
System.out.println("My String");
}
public static void main(String args[]) {
TT t = new TT();
t.myMethod(null);
}
}
输出结果是:My String 求高人解释
String a=null;
和这个原理是一样的 定义int类型的变量为其赋值null 报错 并不能转型为int
String 毫无压力
具体原理坐等
public void myMethod(Parent o) {
System.out.println("My Object");
} public void myMethod(Child s) {
System.out.println("My String");
}
/*public void myMethod(String s) {
System.out.println("My String");
}*/ public static void main(String args[]) {
TT t = new TT();
//String s = null;
t.myMethod(null);
}
}class Child extends Parent{
}
class Parent{
}