Day11

方法的重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数
  • 方法的重载规则
  1. 方法名称必须相同(如果名称不同,那就不叫重载了)
  2. 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)
  3. 方法的返回值可以相同也可以不相同
  4. 仅仅返回值类型不同不足以成为方法的重载

实现理论

  1. 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错

参数类型不一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lv7c6M7w-1638763196897)(C:\Users\Dandelion\AppData\Roaming\Typora\typora-user-images\image-20211206093622568.png)]

package com.kuang.method;

public class Demo02 {
    public static void main(String[] args) {
        int max=max(10,10);
        System.out.println(max);
    }


    //比大小
    public static double max(double num1,double num2) {
        double result = 0;
        if (num1 == num2) {
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if (num1 > num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;
    }


    //比大小
    public static int max(int num1,int num2) {
        int result = 0;
        if (num1 == num2) {
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if (num1 > num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;
    }
}

编译和运行

  • 在文件夹中打开命令行
  1. 自己电脑打开,有一点不一样,是右击**.class**,点open in

  2. 在文件名前面填入cmd+空格

  3. 要一直退到scr,才能执行

  4. **cd…/**回到上一级目录

  5. 编译的时候不需要包名,但执行的时候一定要把包名加上

  6. 丢三个字符串进去,就有输出了

可变参数

  • JDK1.5开始,java支持传递同类型的可变参数给一个方法
  • 在方法声明中,在指定参数类型后加一个省略号(…)
  • 一个方法中只能指定一个可变参数,他必须是方法的最后一个参数。任何普通的参数必须在他之前声明

创建一个对象的快捷键alt+enter自动补全

递归

占用空间大,能不用递归就不要用递归

上一篇:C语言中的函数 | 传值调用和传址调用


下一篇:455分发饼干