点我

基本概述

方法重载(overload) -- Java中允许同一个类中,有多个同名方法的存在,但要求形参列表不一致

注意事项

  • 方法名:必须相同
  • 参数列表:必须不相同(参数类型或个数或顺序,至少有一样不同,参数有名无要求)
  • 返回类型:无要求

案例

案例1:System.out.println

public class OverLoad01{
    public static void main(String[] args){
        System.out.println(100);
        System.out.println("xbxaq.com");
        System.out.println('G');
        System.out.println(100.1);
        System.out.println(true);
    } 
}

案例2:

public class OverLoad{
    public static void main(String[] args){
        MyCalculator mc = new MyCalculator();
        System.out.println(mc.calculate(1,2));
    }
}


class MyCalculator{
    public int calculate(int n1, int n2){
        return n1 + n2;
    }

    public double calculate(int n1, double n2){
        return n1 + n2;
    }

    public double calculate(double n1, int n2){
        return n1 + n2;
    }

    public int calculate(int n1, int n2,int n3){
        return n1 + n2 + n3;
    }
}

案例3:
Methods类中三个重载方法并调用,方法名为m。三个方法分别接收一个int参数、两个int参数、一个字符串参数。
分别执行平方运算、相乘运算、输出字符串,在主类的main方法中分别调用三个方法

public class OverLoad{
    public static void main(String[] args){
        Methods methods = new Methods();
        methods.m(2);
        methods.m(4,10);
        methods.m("xbxaq.com");
    }
}

class Methods{
    public void m(int n){
        System.out.println(n * n);
    }

    public void m(int n, int m){
        System.out.println(n * m);
    }
    public void m(String n){
        System.out.println(n);
    }
}

可变参数

概念

Java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法,就可以通过可变参数实现

语法

访问修饰符    返回类型    方法名(数据类型... 形参名){
}

// 使用可变参数时,可以当作数组来使用,即形参可以当作数组

注意事项

  • 可变参数的实参可以为0个或者任意多个
  • 可变参数的实参可以为数组
  • 可变参数的本质为数组
  • 可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后一位
  • 一个形参列表中只能出现一个可变参数
public class Variable{
    public static void main(String[] args) {
        Hspmethod hm = new Hspmethod();
        hm.sum(1,2,3,4,5);
    }
}

class Hspmethod{
    public int sum(int... nums){
         System.out.println(nums.length);
         return 0;
    }
}

分类: JAVA

评论

-- 评论已关闭 --

目录