Java 方法的重载与参数传递详解

 更新时间:2022年04月09日 15:51:45   作者:hmm️.  
在java中,方法就是用来完成解决某件事情或实现某个功能的办法。方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值,这篇文章我们来探究一下方法的重载与传参

方法重载概述

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

* 多个方法在同一个类中

* 多个放方法具有相同方法名

* 多个方法的参数不相同,类型不同或数量不同

方法重载特特点

* 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式

* 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否构成重载

示例:

 public class MethodDemo{
         public static float  fn(int a){
            //方法体
         }
 public static int  fn(int a,int b){
            //方法体
          }
 }

方法重载练习

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

思路:

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

public static boolean compare(int a,int b){
          return a==b;
}

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

public static boolean compare(long a,long b){
          return a==b;
}

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

public static boolean compare(byte a,byte b){
         //代码片段
}
public static boolean compare(short a,short b){
          //代码片段
}

4. 完成方法调用,运行测试结果

public static void main(String args[ ]){
       system.out.println(cpmpare(10,20));
}

示例代码:

 
public class hmm081 {
    public static void main(String[] args) {
        //调用方法
        System.out.println(compare(10,20));
        //强转
        System.out.println(compare((byte)10,(byte)20));
        System.out.println(compare((long)10,(long)10));
    }
    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;
    }
}

方法参数传递

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

对于基本数据类型参数,形式参数的改变,不影响实际参数的值

 虽然形参change()内的number改变,但main()参数不变,不影响实际参数值,所以第二次输出结果还是100

方法参数传递(引用类型)

对于引用类型的参数,形式参数的改变,影响实际参数的值,如数组。

到此这篇关于Java 方法的重载与参数传递详解的文章就介绍到这了,更多相关Java 方法重载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA中springboot的热加载thymeleaf静态html页面的方法

    IDEA中springboot的热加载thymeleaf静态html页面的方法

    这篇文章主要介绍了IDEA中springboot的热加载thymeleaf静态html页面的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • java中brew安装rabbitmq以及简单实例

    java中brew安装rabbitmq以及简单实例

    RabbitMQ是基于AMQP协议,由Erlang语言开发的开源消息队列系统,广泛应用于分布式系统中,用于应用程序间的消息传递,它支持多种交换机类型,如直连交换机、扇形交换机和主题交换机等,能够满足不同的消息路由需求
    2024-10-10
  • java中的4种循环方法示例详情

    java中的4种循环方法示例详情

    大家好,本篇文章主要讲的是java中的4种循环方法示例详情,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • java springmvc 注册中央调度器代码解析

    java springmvc 注册中央调度器代码解析

    这篇文章主要介绍了java springmvc 注册中央调度器代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 如何在springMVC的controller中获取request

    如何在springMVC的controller中获取request

    这篇文章主要介绍了如何在springMVC的controller中获取request,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • SpringBoot给类进行赋初值的四种方式

    SpringBoot给类进行赋初值的四种方式

    这篇文章主要介绍了springboot给类进行赋初值的四种方式,并通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-08-08
  • SpringBoot使用OpenCV的超详细步骤

    SpringBoot使用OpenCV的超详细步骤

    最近有个项⽬需要对图⽚图像进⾏处理,使⽤到了开源框架OpenCV,所以下面这篇文章主要给大家介绍了关于SpringBoot使用OpenCV的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • spring的UnexpectedRollbackException事务嵌套示例解析

    spring的UnexpectedRollbackException事务嵌套示例解析

    这篇文章主要为大家介绍了spring的UnexpectedRollbackException事务嵌套示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Spring AOP注解失效的坑及JDK动态代理

    Spring AOP注解失效的坑及JDK动态代理

    这篇文章主要介绍了Spring AOP注解失效的坑及JDK动态代理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Spring整合Quartz开发代码实例

    Spring整合Quartz开发代码实例

    这篇文章主要介绍了Spring整合Quartz开发代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论