马克社区吧 关注:484贴子:446
  • 0回复贴,共1

java重载时自动转换咋回事?举例说明

只看楼主收藏回复

当一个重载的方法被调用时,Java在调用方法的参数和方法的自变量之间寻找匹配。
但是,这种匹配并不总是精确的。只有在找不到精确匹配时,Java的自动转换才会起作用。 (如果定义了test(int),当然先调用test(int)而不会调用test(double)。 )



本章源码
//自动类型转换 Automatic type conversions() apply to overloading.

class Overload1 {
// Overload test for two integer parameters.
void test(int a, int b) {
System.out.println("a and b: " + a + " " + b);
}

// overload test for a double parameter
void test(double a) {
System.out.println("Inside test(double) a: " + a);
}
}

public class Test {
public static void main(String args[]) {
Overload1 ob = new Overload1();
int i = 90;
ob.test(i); // 没有int类型,所以调用double类型的自动转换。this will invoke test(double)
。。。。。。。。。。。。。。。
详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner2_web.html#AutomaticConversion


回复
本楼含有高级字体1楼2014-06-18 16:48

    扫二维码下载贴吧客户端

    下载贴吧APP
    看高清直播、视频!