Java 方法重载&方法参数

6.方法重载

6.1方法重载概述

在这里插入图片描述

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互重载

  • 多个方法在用一个类中
  • 多个方法具有相同的方法名
  • 多个方法的参数不相同,类型不同或者数量不同

6.2 方法重载的特点

  • 重载仅对应方法的定义,与方法的调用无关,调用方式参照格式标准
  • 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话不能通过返回值来判断两个方法是否相互构成重载。

在这里插入图片描述

/*
-  多个方法在用一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不相同,类型不同或者数量不同
 */
public class MethodDemo08 {
    public static void main(String[] args) {
        int result =sum(10, 20);
        System.out.println(result);

        double result1 =sum(10.0, 20.0);
        System.out.println(result1);

        int result2 =sum(10, 20,30);
        System.out.println(result2);
    }
    //需求1:求两个int类型数据和方法
    public static int sum(int a ,int b ){
        return a+b;
    }

    //需求2:求两个double类型数据和方法
    public static double sum(double a ,double b ){
        return a + b;
    }

    //需求3:求三个int类型数据和方法
    public static int sum(int a ,int b, int c){
        return a+b+c;
    }
    
}

  • 与返回值无关
  • 在调用的时候,Java虚拟机会通过参数的不用来区分同名的方法

6.3 方法重载练习

在这里插入图片描述

public class MethodDemo09 {
    /*
    方法重载练习
     */
    public static void main(String[] args) {
        System.out.println(compare(10, 20));
        System.out.println(compare((byte)10, (byte)20));
        System.out.println(compare((short)10, (short)20));
        System.out.println(compare(10l, 20l));
    }
    
    public static boolean compare(int a,int b){
        System.out.println("int");
        return a==b;
    }
    public static boolean compare(long a,long b){
        System.out.println("long");
        return a==b;

    }
    public static boolean compare(byte a,byte b){
        System.out.println("byte");
        return a==b;
    }
    public static boolean compare(short a,short b){
        System.out.println("short");
        return a==b;
    }
}

7.方法的参数传递

7.1方法的参数传递(基本类型)

在这里插入图片描述

//方法的参数传递(基本类型)
public class MethodDemo10 {
    public static void main(String[] args) {
        int number =100;
        System.out.println("调用change方法前:"+number);
        change(number);
        System.out.println("调用change方法后:"+number);
        
    }

    public static void change(int number){
        number = 200;
    }    
}

在这里插入图片描述

7.2 方法的参数传递(引用方法)

对于引用类型的参数,形式参数的改变,影响实际参数的值
在这里插入图片描述

public class MethodDemo11 {
    public static void main(String[] args) {
        int[]arr ={10,20,30};
        System.out.println("调用change方法前:"+arr[1]);
        change(arr);
        System.out.println("调用change方法后"+arr[1]);
    }
    public static void change(int[]arr){
        arr[1]=200;
    }
}

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二毛就不是钱吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值