码迷,mamicode.com
首页 > 其他好文 > 详细

035_面向对象_08_方法重载

时间:2018-11-14 12:37:54      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:部分   his   测试方法   构造   nbsp   方法   ack   产生   参数   

一、概念部分

  a)方法的重载:是指同一个类中可以定义有相同的名字,但参数(参数的个数、类型、顺序)不同的多个方法。 调用时,会根据不同的参数(参数的个数、类型、顺序)选择对应的方法、只要对调用者不产生歧义即可。构造方法也和普通方法一样可以重载。

二、什么时候不构成方法的重载  

  a)返回值不同不构成方法的重载(int a(){}, double  a(){},  调用:a(),谁能告诉我是调哪个方法?

  b)形参的名称不同,不构成方法的重载、因为形参在调用者角色会产生歧义(我该调用那个?)

三、演示实例

package test;

/**
 * [测试方法的重载]
 * @author aeon
 *
 */
public class TestOverload {
    public int add(int a, int b){
        return a+b;
    }
}

class MyMath {
    int a;
    int b;

    public MyMath() {
    }

    public MyMath(int a) {
        this.a = a;
    }

    public MyMath(int b, int a) {
        this.b = b;
        this.a = a;
    }

    public int add(int b, double a) {
        return (int) (a + b);
    }

    public int add(double a, int b) {
        return (int) (a + b);
    }

    public int add(int a, int b) {
        return a + b;
    }

    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

 

035_面向对象_08_方法重载

标签:部分   his   测试方法   构造   nbsp   方法   ack   产生   参数   

原文地址:https://www.cnblogs.com/aeon/p/9957033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!