我从JonSkeets的评论中得到了这个
null
可以转换为Object
或String
,但不能转换为int
这解释了我的问题,但我并不完全理解这句话,我们如何进行这种转换
我一直试图弄清楚在给定的例子中实际上是如何调用String构造函数的
我的想法是什么 1:'null'不是字符串类的对象,那么它如何调用以字符串为参数的构造函数? (String类没有null param的构造函数,因此可能不会创建一个带有'null'的字符串对象)
2:如果我们删除String Constructor,那么,如何将id'null'视为Object并调用Object构造函数? ,AFAIK,null是一个特殊的文字,而不是一个对象。
public class Hussi {
// Constructor 1 : Object
public Hussi(Object i) {
System.out.println("Object Constructor called");
}
// Constructor 1 : String
public Hussi(String i) {
System.out.println("String Constructor called");
}
// Constructor 1 : integer
public Hussi(int k) {
System.out.println("int Constructor called");
}
public static void main(String[] args) throws Exception {
Hussi hussi = new Hussi(null);
}
}
我提到this问题,这是探讨答案而不是解释