Java 方法重载

来源:互联网 发布:绿色版软件制作工具 编辑:程序博客网 时间:2024/05/19 03:25

        我们知道构造方法的名称已经由类名决定,所以构造方法只有一个名称,但如果希望以不同的方式来实例化对象,就需要使用多个构造方法来完成。由于这些构造方法都需要根据类名进行命名,为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”。虽然方法重载起源于构造方法,但是它可以应用到其他方法中。

        方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。

package javademo;public class OverLoadTest {public static int add(int a, int b){//定义一个方法return a + b;}//定义与第一个方法相同名称、参数类型不同的方法public static double add(double a, double b){return a + b;}//定义与第一个方法参数个数不同的方法public static int add(int a){return a;}public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("调用add(int, int)方法:"+ add(1,2));System.out.println("调用add(double, double)方法:"+ add(1.1,2.2));System.out.println("调用add(int)方法:"+ add(1));}}
从以上实例中可以看出:参数类型不同,构成重载;参数个数不同,构成重载;参数顺序不同,构成重载。

虽然在重载方法中可以使用两个方法的返回值不同,但只有返回值不同并不足以区分两个方法的重载,还需要通过参数个数以及参数类型来设置。

根据构成方法重载的条件,可以总结出编译器是利用方法名、方法各参数类型和参数的个数以及参数顺序来来确定类中的方法是否唯一。