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 方法重载内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java支持方法重载的原因

    Java为什么要支持方法重载 为什么要使用重载?而不是把一个方法名字换成不同的. 任何编程语言中都具备的一项重要特性就是名称.当你创建一个对象时,就会给此对象分配的内存空间一个名称.一个方法就是一种行为的名称.通过名称引用所各种对象,属性和方法.良好的命名可以让系统易于理解和修改. 将人类语言细微的差别映射到编程语言中会产生一个问题.通常,相同的词可以表达多种不同的含义--它们被"重载"了.特别是当含义的差别很小时,这会更加有用. 你会说"清洗衬衫"."清

  • java方法重载和参数类型自动提升方式

    目录 方法重载和参数类型自动提升 方法重载的意思是 对于基本类型数据而言 java基本类型重载 1.重载 2.基本类型重载 3.代码示例 4.重载解析过程 5.可行集获取的原则 方法重载和参数类型自动提升 方法重载的意思是 一个类中可以由多个方法具有相同的名字,但这些方法的参数必须不同, 参数不同是指满足下列之一: 参数的个数不同 参数的个数相同,但参数列表中对相应的某个参数的类型不同 对于基本类型数据而言 参数类型存在自动提升 以byte a = 1为例,存在如下自动提升方式: byte–>

  • Java基础学习之方法的重载知识总结

    一.什么是方法的重载? 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法. 调用时,会根据不同的参数自动匹配对应的方法. 二.构成方法重载的条件 1).不同的含义:形参类型.形参个数.形参顺序不同 2).只有返回值不同不构成方法的重载 如:int a(String str){} 与 int void(String str){} 不构成方法重载 3).只有形参的名称不同,不构成方法的重载. 如:int a(String str){} 与 int a(String s){} 不构成方法

  • Java中方法重写与重载的区别

    目录 一.重写(Override) 二.重载(Overload) 三.总结 Java方法重写(Override)与重载(Overload)的区别(超详细) 首页在我们要学习这个知识点之前,应该要先了解什么是多态? 在最初学习java的时候,人们都知道,java这种面向对象的语言,一共有三大特征,分别是:封装.继承.多态. 多态是同一个行为具有多个不同表现形式或形态的能力. 举个例子,比如大多数动物(抽象类)会叫,但是狗(实现类)就是汪汪汪,猫(实现类)就是喵喵喵. 多态实现的必要条件 子类必须继

  • java基础之方法和方法的重载详解

    一.带参方法 1.1 带参方法的定义和调用 之前定义的方法大部分都是无参方法,但是有些方法的执行是需要前提条件的,那么参数就是将这些前提条件传送过来 定义带参数的方法: <访问修饰符> 返回值类型 <方法名称> (<形式参数列表>){ //方法的主体 } 调用带参数的方法 对象名.方法名(参数1,参数2,参数3-参数n); 定义榨汁机的类,输出详细信息 package Kind.dh; //定义榨汁机类 public class MethodWithParameters

  • java 将方法作为传参--多态的实例

    在前段时研究智能算法时,发现如果使用java进行实现的话,往往具体实现过程差不多,但是适应值函数却根据 研究对象的不同发生很大的改变,这样对代码的维护产生很大的阻碍,于是产生的一个疑问:可不可以将适应值函数 作为参数传入到方法中,根据C/C++的习惯的话,由于指针的存在,可以将函数作为指针传入,由于指针使用的复杂 性以及难维护性,效果一般.如果换一种面向对象的思想,可以想设计一个接口I,这个接口只提供一个方法,那么相 当于可以将接口作为参数传入到方法中,调用时只需要将设计一个类,实现接口I,那么

  • Java开启新线程并传参方法代码实现

    一.继承Thread类 步骤: 1):定义一个类A继承于Java.lang.Thread类. 2):在A类中覆盖Thread类中的run方法. 3):我们在run方法中编写需要执行的操作:run方法里的代码,线程执行体. 4):在main方法(线程)中,创建线程对象,并启动线程: (1)创建线程类对象: A类 a = new A类(); (2)调用线程对象的start方法: a.start();//启动一个线程 注意:千万不要调用run方法,如果调用run方法好比是对象调用方法,依然还是只有一个

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

    目录 方法重载概述 方法重载特特点 方法重载练习 方法参数传递 方法参数传递(基本类型) 方法参数传递(引用类型) 方法重载概述 方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载 * 多个方法在同一个类中 * 多个放方法具有相同方法名 * 多个方法的参数不相同,类型不同或数量不同 方法重载特特点 * 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式 * 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否

  • java 方法与数组基础使用详解

    目录 一.方法的使用 1.方法的定义 2.方法重载 二.数组的定义和使用 1.数组的基本概念 (1)数组的创建 (2)数组的初始化 (3)数组的遍历 2.数组是引用类型(JVM的内存分布) 3.引用变量 4.数组拷贝函数 5.二维数组的for.each遍历 一.方法的使用 1.方法的定义 java中的方法就相当于C语言中的函数 方法的语法格式 //方法的定义 修饰符  返回值类型  方法的名称([参数类型 参数]){ 方法体代码: [return 返回值]: } [注意事项] 修饰符:现阶段直接

  • Java 方法的定义与调用详解

    目录 1.方法概述 2.方法的定义和调用 2.1 方法定义 2.2 方法调用 2.3 方法的调用过程 2.4 方法练习 3.带参数方法的定义和调用 3.1带参数方法定义 3.2带参数方法调用 1.方法概述 什么是方法 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有图书功能的代码集 注意: 方法必须先创建才可以使用,该过程称为方法定义 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用 2.方法的定义和调用 2.1 方法定义 格式: public stat

  • Java的数据类型和参数传递(详解)

    Java提供的数据类型主要分为两大类:基本数据类型和引用数据类型. Java中的基本数据类型 名称 大小 取值范围 byte型 (字节) 8bit -128-127 (-2^7到2^7-1) short型 (短整型) 16bit -2^15到2^15-1 int型 (整形) 32bit -2^31到2^31-1 long型 (长整型) 64bit -2^63到2^63-1 float型 (单精度浮点型) 32bit double型 (双精度浮点型) 64bit char型 (字符型) 16bit

  • Java中由substring方法引发的内存泄漏详解

    内存溢出(out of memory ) :通俗的说就是内存不够用了,比如在一个无限循环中不断创建一个大的对象,很快就会引发内存溢出. 内存泄漏(leak of memory) :是指为一个对象分配内存之后,在对象已经不在使用时未及时的释放,导致一直占据内存单元,使实际可用内存减少,就好像内存泄漏了一样. 由substring方法引发的内存泄漏 substring(int beginIndex, int endndex )是String类的一个方法,但是这个方法在JDK6和JDK7中的实现是完全

  • 详解Java中NullPointerException异常的原因详解以及解决方法

    NullPointerException是当您尝试使用指向内存中空位置的引用(null)时发生的异常,就好像它引用了一个对象一样. 当我们声明引用变量(即对象)时,实际上是在创建指向对象的指针.考虑以下代码,您可以在其中声明基本类型的整型变量x: int x; x = 10; 在此示例中,变量x是一个整型变量,Java将为您初始化为0.当您在第二行中将其分配给10时,值10将被写入x指向的内存中. 但是,当您尝试声明引用类型时会发生不同的事情.请使用以下代码: Integer num; num

  • Java带返回值的方法的定义和调用详解

    目录 带返回值的方法练习 方法的注意事项 方法注意事项 方法通用格式 带返回值的方法练习 需求: 设计一个方法可以获取两个数的较大值,数据来自于参数 思路: 1. 定义一个方法,用于获取两个数中的较大数 public static int getMax(int a,int b){ } 2.使用分支语句分两种情况对两个数的大小进行处理 if (a>b) { }else{ } 3. 根据题设分别设置两种情况下对应返回值结果 if (a>b) { return a; }else{ return b;

  • Mybatis 创建方法、全局配置教程详解

    总体介绍:MyBatis实际上是Ibatis3.0版本以后的持久化层框架[也就是和数据库打交道的框架]! 和数据库打交道的技术有: 原生的JDBC技术--->Spring的JdbcTemplate技术 这些工具都是提供简单的SQL语句的执行,但是和我们这里学的MyBatis框架还有些不同, 框架是一整套的东西,例如事务控制,查询缓存,字段映射等等. 我们用原生JDBC操作数据库的时候都会经过: 编写sql---->预编译---->设置参数----->执行sql------->

  • java学习笔记之DBUtils工具包详解

    DBUtils工具包 一.介绍 DBUtils是Apache组织开源的数据库工具类. 二.使用步骤 ①.创建QueryRunner对象 ②.调用update()方法或者query()方法执行sql语句 三.构造方法及静态方法 QueryRunner类 1.构造方法 ①.无参构造 QueryRunner qr =new QueryRunner(); 使用无参构造的时候,调用update方法和query方法时就需要使用带Connection 类型参数的重载形式 ②.有参构造 QueryRunner

  • Java构造函数与普通函数用法详解

    函数也被称为方法! 函数的作用及特点: 1.用于定义功能,将功能封装. 2.可以提高代码的复用性. 函数注意事项: 1.不能进行函数套用(不可以在函数内定义函数). 2.函数只有被调用才能被执行. 3.基本数据类型(String.int.-.)修饰的函数类型,要有return返回值. 4.void修饰的函数,函数中的return语句可以省略不写. 5.函数名可以根据需求进行命名. 代码示例:(有无函数/方法的区别) 无函数/方法代码例子: public class NoFunc { public

随机推荐