Java 构造函数和构造函数重载
有人能解释吗 当我们重载一个具有不同参数的构造函数时,一个具有数据类型object,另一个具有数据类型string,当我们创建这个类的对象并将输入参数设置为null时,它调用的是以字符串作为输入参数的构造函数,而不是以输入参数作为对象的构造函数。既然Object是String的超类,有人能告诉我它为什么用输入参数String调用构造函数吗Java 构造函数和构造函数重载,java,oop,constructor,constructor-overloading,Java,Oop,Constructor,Constructor Overloading,有人能解释吗 当我们重载一个具有不同参数的构造函数时,一个具有数据类型object,另一个具有数据类型string,当我们创建这个类的对象并将输入参数设置为null时,它调用的是以字符串作为输入参数的构造函数,而不是以输入参数作为对象的构造函数。既然Object是String的超类,有人能告诉我它为什么用输入参数String调用构造函数吗 Class A { public A(Object o) { System.out.println("Object Drawn");
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);
}
}
输出:-字符串绘制它总是调用最具体的匹配方法或构造函数。如果没有,您将始终调用
对象
,重载它将毫无意义
这种方法在爪哇和C++ +P>中使用,这既可以是C++问题,也可以是java问题,但不是两者都可以。它看起来是java,所以为什么
它肯定是一个空字符串。如果使用“
is,则它可以是字符串或对象。术语“空字符串”和“空对象”很容易混淆,没有标准值。 null