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; } }