zoukankan      html  css  js  c++  java
  • 章节五、6-方法的重载

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

    二、实例演示

    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, "重载后");
        }
    
    }

    结果为:

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

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

  • 相关阅读:
    实现页面切换(动画效果实现,不用ViewPager)
    “仅仅生一个娃”--设计模式中的单例模式
    ZOJ
    【J2SE高速进阶】——多线程之synchronized
    [LeetCode] Search a 2D Matrix II
    leetCode 58.Length of Last Word (最后单词的长度) 解题思路和方法
    [CentOS]怎样解决gcc版本号冲突?
    从0开始学习 GITHUB 系列之「GITHUB 常见的几种操作」【转】
    从0开始学习 GITHUB 系列之「向GITHUB 提交代码」【转】
    从0开始学习 GITHUB 系列之「GIT 速成」【转】
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/9561904.html
Copyright © 2011-2022 走看看