使用Object类型和字符串类型参数重载函数

时间:2013-09-26 08:50:56

标签: casting overloading

我已完成以下代码

public Class OverLoading {

public void Get(int val, string str)
{
    Console.Write("Method with int and string parameter");
}
public void Get(int str, object obj)
{
    Console.Write("Method with int and Object parameter");
}

}

当我使用下面提到的代码从Main()调用它时,行“obj.Get(2,null)”总是调用第一个重载类的Get方法,即Get(int val,string str)

static void Main()
    {
        OverLoading obj = new OverLoading();
        obj.Get(2, null);
    }

你能否建议,为什么将null转换为字符串而不是反对。

2 个答案:

答案 0 :(得分:0)

因为int是Java编程语言的字符串是对象。因此可以将它们设置为null。 原始数据类型不能设置为null。 字节 短 INT 长 浮动 双 布尔 炭

要为它们设置空值,您必须使用相应的包装器

参见: http://docs.oracle.com/javase/tutorial/java/data/strings.html

答案 1 :(得分:0)

因为 String Object 的孩子。 在解析重载方法时,编译器将始终首先查看子类型参数方法。