有谁能解释一下吗?
当我们重载一个具有不同参数的构造函数时,一个具有数据类型Object,另一个具有数据类型string,当我们创建该类的对象并提供输入参数为null时,它调用的是以string为输入参数的构造函数,而不是以输入参数为object的构造函数。既然Object是String的超类,谁能告诉我为什么它调用带有输入参数string的构造函数?
Class A
{
public A(Object o)
{
System.out.println("Object Drawn");
}
public A (String o)
{
System.out.println("String Drawn");
}
public static void main(String args[])
{
new A(null);
}
}输出:-绘制的字符串
发布于 2012-09-08 15:34:01
它总是调用最具体的匹配方法或构造函数。如果没有,你将总是调用Object,并且重载它将是毫无意义的。
这种方法正在Java和C++中使用
https://stackoverflow.com/questions/12328924
复制相似问题