当前位置 博文首页 > lydms的博客:1.6 方法重载

    lydms的博客:1.6 方法重载

    作者:[db:作者] 时间:2021-07-12 10:07

    一、方法的定义

    1、方法的格式详解

    修饰符 返回值类型 方法名(参数列表){
            //代码省略...
            return 结果;
    }
    
    • 修饰符: public,private。
    • 返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者。
    • 参数列表: 方法在运算过程中的未知数据,调用者调用方法时传递。
    • 返回值: 将方法执行后的结果带给调用者,方法执行到return ,整体方法运行结束。

    2、定义方法的注意事项

    • 定义位置,类中方法外面。
    • 返回值类型,必须要和return语句返回的类型相同,否则编译失败 。
    // 返回值类型要求是int
    public static int getSum() {
        return 5;// 正确,int类型
        return 1.2;// 错误,类型不匹配
        return true;// 错误,类型不匹配
    }
    
    • 不能在return 后面写代码,return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
    public static int getSum(int a,int b) {
      	return a + b;
      	System.out.println("Hello");// 错误,return已经结束,这里不会执行,无效代码
    }
    

    二、方法重载

    1、定义

    • 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
    • 参数列表(不同): 个数不同,数据类型不同,顺序不同。
    • 重载方法调用: JVM通过方法的参数列表,调用不同的方法。

    重载规则:

    • 被重载的方法必须形参列表不一样(参数个数或类型不一样);
    • 被重载的方法可以改变返回类型;
    • 被重载的方法可以改变访问修饰符;
    • 被重载的方法可以声明新的或更广的检查异常;
    • 方法能够在同一个类中或者在一个子类中被重载。
    • 返回值类型不能作为重载函数的区分标准。

    最常用的地方就是构造器的重载。(有参和无参构造的重载)

    2、例子

    main测试

    public static void main(String[] args) {
        //定义不同数据类型的变量
        byte a = 10;
        byte b = 20;
        short c = 10;
        short d = 20;
        // 调用
        System.out.println(compare(a, b));
        System.out.println(compare(c, d));
    }
    

    重载类

    // 两个byte类型的
    public static boolean compare(byte a, byte b) {
        System.out.println("byte");
        return a == b;
    }
    // 两个short类型的
    public static boolean compare(short a, short b) {
        System.out.println("short");
        return a == b;
    }
    
    cs
    下一篇:没有了