一、重载:在一个类中定义多个同名方法,但要求每个方法具有不同的参数的类型或参数的个数。

 

二、实例演示

1、新建三个类,类名分别为CarsOverLoading1、CarsOverLoading2、CarsOverLoading3

2、方法名相同的情况下,参数列表有以下几种情况即可算是重载:

  参数的数量不同
  参数的数据类型不同
  参数类型的顺序不同

3、首先我们在CarsOverLoading1类中演示因为参数的数量不同而发生重载的情况

package introduction7;

public class CarsOverLoading1 {
    /*
     方法名相同的情况下,参数列表有一下几种情况即可算是重载:
     1、参数的数量不同
     2、参数的数据类型不同
     3、参数类型的顺序不同
     */
    
    //参数数量不同
    //increaseSeatHeight中只有一个参数
    public static void increaseSeatHeight(int heightToIncrease) {
        System.out.println("提高座椅高度为:"+heightToIncrease+"cm");
    }
    
    //重载increaseSeatHeight,在参数列表中新增一个布尔类型的变量
    public static void increaseSeatHeight(int heightToIncrease,boolean rememberHeight) {
        System.out.println("提高座椅高度为:"+heightToIncrease+"cm");
        if(rememberHeight) {
            System.out.println("你设置的高度已保存");
        }else {
            System.out.println("你设置的高度未保存");
        }
    }
    
    public static void main(String[] args) {
    //参数数量不同时调用(因为该方法是静态的,所以不需要实例化即可调用)
        increaseSeatHeight(3);
        increaseSeatHeight(20, true);
    }
}

结果为:

4、在CarsOverLoading2类中演示因为参数的数据类型不同而发生重载的情况

package introduction7;

public class CarsOverLoading2 {
    //根据参数的数据类型不同进行重载
    public static void increaseSeatHeight(int heightToIncrease) {
        System.out.println("提高座椅高度为:"+heightToIncrease+"cm"+"这里是整数参数的increaseSeatHeight方法");
    }
    
    public static void increaseSeatHeight(String heightToIncrease) {
        System.out.println("提高座椅高度为:"+heightToIncrease+"cm"+"这里是字符串参数的increaseSeatHeight方法");
    }
    
    public static void main(String[] args) {
        //调用上述方法
        increaseSeatHeight(50);
        //重载后的方法
        increaseSeatHeight("五十");
    }

}

结果为:

5、在CarsOverLoading3类中演示因为参数类型的顺序不同而发生重载的情况

package introduction7;

public class CarsOverLoading3 {
    //根据参数数据类型的顺序不同进行重载
    public static void increaseSeatHeight(String variable1,int variable2) {
        System.out.println("这是第一个重载的seSeatHeight方法");
    }
    
    //重载后的方法,参数位置(顺序)进行的调换
    public static void increaseSeatHeight(int variable2,String variable1) {
        System.out.println("这是第二个重载的seSeatHeight方法");
    }
    
    public static void main(String[] args) {
        increaseSeatHeight( "重载前",1);
        increaseSeatHeight(2, "重载后");
    }

}

结果为:

 

三、参数类型相同,参数名称不同时,不能认为此方法发生了重载。

 

四、不能根据方法的返回值不同,来让方法重载。

posted on 2018-08-31 15:30  时光以北暮南城  阅读(299)  评论(0编辑  收藏  举报