这个问题是困扰我while.Please帮助冲突超载
假设有两种方法
public void add(Object obj){
/* some logic*/
}
public void add(String str){
/*Some logic*/
}
所以,当我打电话add(null)
哪种方法能够得到执行,为什么?
感谢
这个问题是困扰我while.Please帮助冲突超载
假设有两种方法
public void add(Object obj){
/* some logic*/
}
public void add(String str){
/*Some logic*/
}
所以,当我打电话add(null)
哪种方法能够得到执行,为什么?
感谢
它将调用方法与参数String ......
Java中的类是对象的直接或间接的子类。所以String是Object的一个子类型,重载接受一个String的方法比重载方法更接近一个Object。一个String可以被转换(向上)为Object,但是一个Object不能被转换(向下或向上)为String,所以采用String参数的方法更具体。因此,print(String s)将被调用print(null)调用。
添加语言标签。 –
,但在什么样的基础上jvm认为最**特殊**类型?它仍然不清楚我 – vicky