方法重载的基本使用

package com.company.demo02;
/*
* 对于功能类似的方法来说,因为参数不同,却需要记住那么多不同的方法名称,太麻烦
* 方法的重载:多个方法的名称一样,但是参数列表不一样
* 好处:只需要记住唯一一个方法的名称,就可以实现类似的多个功能
* */
public class Demo01MethoOverload {
    public static void main(String[] args) {
      /*  System.out.println(sum(10,20));
        System.out.println(sumThree(10,20,30));
        System.out.println(sumfour(10,20,30,40));
        */
        System.out.println(sum(10,20));
        System.out.println(sum(10,20,30));
        System.out.println(sum(10,20,30,40));


    }
    public static int sum(int a,int b){
        System.out.println("两个参数");
        return a+b;
    }
    public static int sum(int a,int b, int c){
        System.out.println("3个参数");
        return a+b+c;
    }
    public static int sum(int a,int b, int c,int d){
        System.out.println("4个参数");
        return a+b+c+d;
    }
}


方法重载的注意事项

  • 方法重载与下列因数相关
  • 1.参数个数不同
  • 2.参数类型不同
  • 3.参数的多类型顺序不同
  • 方法的重载与下列因数无关
  • 1.与参数的名称无关
  • 2.与方法的返回值类型无关

重载练习

package com.company.demo02;
/*
* 题目要求:
* 比较两个数据是否相等
* 参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型
* 并再main方法测试
* */
public class Demo02MethodOverloadSanme {
    public static void main(String[] args) {
        byte a=10;
        byte b=20;
        System.out.println(sum(a,b));
        System.out.println(sum(10,10));
        System.out.println(sum((short) 10,(short) 20));
        System.out.println(sum(10L,20L));

    }
    public static boolean sum(int a,int b){
        System.out.println("两个int");
        boolean sum;
        if (a==b){
            sum=true;
        }else {
            sum=false;
        }
        return sum;

    }
    public static boolean sum(byte a,byte b){
        System.out.println("两个byte");
        boolean sum =a == b?true:false;
        return sum;
    }
    public static boolean sum(short a,short b){
        System.out.println("两个short");
        return a==b;
    }
    public static boolean sum(long a ,long b){
        System.out.println("两个long");
        if (a==b){
            return true;
        }else {
            return false;
        }
    }
}

判断哪些方法是重载关系
在这里插入图片描述
实现重载的println
CTRL + 鼠标左键 查看println源码

package com.company.demo02;
/*
* 在输出调用语句的时候,println方法进行了多种数据的重载
* */
public class Demo04OverloadPrint {
    public static void main(String[] args) {
        myPrint(100);
        myPrint("hello");

    }
    public static void myPrint(byte num){
        System.out.println(num);
    }
    public static void myPrint(short num){
        System.out.println(num);
    }
    public static void myPrint(int
                                       num){
        System.out.println(num);
    }
    public static void myPrint(long num){
        System.out.println(num);
    }
    public static void myPrint(float num){
        System.out.println(num);
    }
    public static void myPrint(double
                                       num){
        System.out.println(num);
    }
    public static void myPrint(char num){
        System.out.println(num);
    }
    public static void myPrint(String num){
        System.out.println(num);
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值