ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-01-09 19:32:55  阅读:176  来源: 互联网

标签:调用 java int double ob test Overl 重载 举例说明


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


 

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

class Overl {
    // 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[]) {
        Overl ob = new Overl();
        int i = 80;
        ob.test(i); // 没有int类型,所以调用double类型的自动转换。this will invoke test(double)
        ob.test(555.5); // 准确调用,this will invoke test(double)
        ob.test(5, 8);//准确调用
    }
}
 

更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103129648

标签:调用,java,int,double,ob,test,Overl,重载,举例说明
来源: https://www.cnblogs.com/shituxingzhe1949/p/14255982.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有