1.6 方法重载

一、方法的定义

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;
}
posted @ 2020-06-18 12:22  ah_lydms  阅读(60)  评论(0编辑  收藏  举报