Java技术分享之Java方法重载的知识点梳理

Java中存在着一种多态——重载,即一个类中可以有多个方法具有相同的名字。本文我来和大家梳理的正是关于Java方法重载的学习总结。下面让我们一起来好好认识一下Java方法重载,再做一做相关练习题吧~
在这里插入图片描述

1、方法重载概念

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载。多个方法在同一个类中,多个方法具有相同的方法名,多个方法的参数不相同,类型不同或者数量不同。

(1)注意:

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

(2)正确范例:


 public class MethodDemo {

      public static void fn(int a) {

          //方法体

     }

     public static int fn(double a) {

          //方法体

     }

 }



 public class MethodDemo {

      public static float fn(int a) {

          //方法体

     }

     public static int fn(int a , int b) {

          //方法体

     }

 }

(3)错误范例:


public class MethodDemo {

     public static void fn(int a) {

         //方法体

    }

    public static int fn(int a) {   /*错误原因:重载与返回值无关*/

         //方法体

    }

}



public class MethodDemo01 {

    public static void fn(int a) {

        //方法体

    }

}

public class MethodDemo02 {

    public static int fn(double a) { /*错误原因:这是两个类的两个fn方法*/

        //方法体

    }

}

2、方法重载练习

(1)需求:使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)

(2)解决思路:

①定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数

②定义对应的重载方法,变更对应的参数类型,参数变更为两个long型参数

③定义所有的重载方法,两个byte类型与两个short类型参数

④完成方法的调用,测试运行结果

(3)代码实现:


public class MethodTest {

    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));

    }



    //int

    public static boolean compare(int a, int b) {

        System.out.println("int");

        return a == b;

    }



    //byte

    public static boolean compare(byte a, byte b) {

        System.out.println("byte");

        return a == b;

    }



    //short

    public static boolean compare(short a, short b) {

        System.out.println("short");

        return a == b;

    }



    //long

    public static boolean compare(long a, long b) {

        System.out.println("long");

        return a == b;

    }

}

以上就是关于Java方法重载的学习总结,大家都看懂了吗?如果对于Java方法重载还有任何疑问,可以关注我,深入学习Java方法的相关知识点!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值