当前位置: 代码迷 >> J2SE >> 方法重载时参数传递 Null,求高人指点,该怎么处理
  详细解决方案

方法重载时参数传递 Null,求高人指点,该怎么处理

热度:49   发布时间:2016-04-24 02:07:43.0
方法重载时参数传递 Null,求高人指点
代码如下

Java code
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  

求高人解释

------解决方案--------------------
Java code
int l=null;String a=null;和这个原理是一样的 定义int类型的变量为其赋值null 报错 并不能转型为intString 毫无压力 具体原理坐等
------解决方案--------------------
《java解惑》上有说明

会找能匹配的最精确的类型
------解决方案--------------------
Java code
public class TT {    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{    }
  相关解决方案