• 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. }

  • 相关阅读:
    Linux-用户概念和用户管理命令,用户组概念和用户组管理命令。
    RK3399平台开发系列讲解(内核驱动外设篇)6.35、IAM20680陀螺仪介绍
    021_SSSS_Diffusion Models Already Have a Semantic Latent Space
    Linux--进程间通信之命名管道
    面试被问答3-5年职业规划,该怎么回答
    基础课27——人工智能训练师人才画像
    【无标题】
    2000-2023年各省年末常住人口数据(无缺失)
    Llama3-8B到底能不能打?实测对比
    李峋同款爱心代码
  • 原文地址:https://blog.csdn.net/qq_40132294/article/details/133904934