035_面向对象_08_方法重载

Posted aeon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了035_面向对象_08_方法重载相关的知识,希望对你有一定的参考价值。

一、概念部分

  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_方法重载的主要内容,如果未能解决你的问题,请参考以下文章

7Python全栈之路系列之面向对象运算符重载

039_面向对象_12_方法的重写

python 面向对象调用问题

python面向对象-4类的继承与方法的重载

Python面向对象的运算符重载

Python入门-6面向对象编程:10特殊方法和运算符重载-特殊属性