• Java方法的重载


    方法的重载

    1.定义

            方法的重载就是一个类中允许一个以上同名方法存在,只要这些方法的参数个数参数类型不同即可。

    1. package classExtends;
    2. public class OverLoadTest {
    3. public static int add(int a, int b) {
    4. return a + b;
    5. }
    6. public static double add(double a, double b) {
    7. return a + b;
    8. }
    9. public static int add(int a) {
    10. return a;
    11. }
    12. public static int add(int a, double b) {
    13. return a + (int) b;
    14. }
    15. public static int add(double a, int b) {
    16. return (int) a + b;
    17. }
    18. public static void main(String[] args) {
    19. System.out.println("调用add(int,int)方法:" + add(1, 2)); //调用add(int,int)方法:3
    20. System.out.println("调用add(double,double)方法:" + add(2.1, 3.2)); //调用add(double,double)方法:5.300000000000001
    21. System.out.println("调用add(int)方法:" + add(2)); //调用add(int)方法:2
    22. System.out.println("调用add(int,double)方法:" + add(2, 2.1)); //调用add(int,double)方法:4
    23. }
    24. }

            编译器是通过【方法名+方法各参数类型+参数个数+参数顺序】来确定类中的方法是否唯一。

    2.不定长参数

    2.1 语法:

            返回值 方法名(参数类型...参数名)

            在参数列表中使用”...“形式定义不定长参数,其实这个不定长参数a就是个数组,编译器会将”int...a“这种形式看做”int[] a“.

    1. package classExtends;
    2. public class OverLoadTest {
    3. public static int add(int a, int b) {
    4. return a + b;
    5. }
    6. public static double add(double a, double b) {
    7. return a + b;
    8. }
    9. public static int add(int a) {
    10. return a;
    11. }
    12. public static int add(int a, double b) {
    13. return a + (int) b;
    14. }
    15. public static int add(double a, int b) {
    16. return (int) a + b;
    17. }
    18. public static int add(int... a) { //定义不定长参数方法
    19. int sum = 0;
    20. for (int i = 0; i < a.length; i++) {
    21. sum += a[i];
    22. }
    23. return sum;
    24. }
    25. public static void main(String[] args) {
    26. System.out.println("调用add(int,int)方法:" + add(1, 2)); //调用add(int,int)方法:3
    27. System.out.println("调用add(double,double)方法:" + add(2.1, 3.2)); //调用add(double,double)方法:5.300000000000001
    28. System.out.println("调用add(int)方法:" + add(2)); //调用add(int)方法:2
    29. System.out.println("调用add(int,double)方法:" + add(2, 2.1)); //调用add(int,double)方法:4
    30. //调用不定长参数方法
    31. System.out.println("调用不定长参数方法:" + add(1, 2, 3, 4, 5, 6)); //调用不定长参数方法:21
    32. System.out.println("调用不定长参数方法:" + add(1)); //调用不定长参数方法:1
    33. }
    34. }

  • 相关阅读:
    vscode的窗口下拉显示行数不够
    SEO的了解
    分析 Base64 编码和 URL 安全 Base64 编码
    Spring Boot中如何实现bean加载
    CYEZ 模拟赛 3
    ceph 1 pool(s) do not have an application enabled
    生态系统服务——水源涵养水源涵养分布
    微软为金融界带来革命性突破——推出Microsoft 365中的下一代AI助手:Microsoft Copilot for Finance
    SAS中的PDV机制
    APS生产计划排产在装备制造业的应用
  • 原文地址:https://blog.csdn.net/qq_40132294/article/details/133904934