Java方法的重载方法的内存基本数据类型与引用数据类型方法的值传递

Java方法的重载方法的内存基本数据类型与引用数据类型方法的值传递,第1张

目录

方法的重载

概念:

练习

方法的内存

基础知识

Java内存分配

方法调用的基本内存原理

基本数据类型

引用数据类型

方法的值传递与引用传递

值传递

引用传递


方法的重载 概念:

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

  * 多个方法在同一个类中

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

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

简单来说就是:1.同一个类中  2.方法名相同  3.参数不同。与返回值无关

其中参数不同可能是:数量不同、类型不同、顺序不同【虽然顺序不同可以构成重载关系,但是不建议!!】

方法的重载体现了方法中实参与形参一一对应的特点,即数量相同,类型相同

练习

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

  public class MethodTest {
      public static void main(String[] args) {
          //调用方法
          System.out.println(compare(10, 20));//调用int方法
          System.out.println(compare((byte) 10, (byte) 20));//调用byte方法
          System.out.println(compare((short) 10, (short) 20));//调用short方法
          System.out.println(compare(10L, 20L));//调用longlong方法
      }
  
      //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内存分配

栈:方法运行时使用的内存,方法被调用进栈运行

堆:new出来的,都在堆内存中开辟了一个小空间,堆里有地址

方法调用的基本内存原理

多个方法:主方法main,方法1,方法2,调用时依次进栈

方法2运算结束后出栈,再依次执行方法1,主方法运行后出栈

 

 

基本数据类型

整数类型

浮点数类型

布尔类型

字符类型

变量中存储的是真正的数据

特点:数据值是存储在自己的空间中,赋值给其他变量,也是赋的真实的值

引用数据类型

除了基本数据类型之外的数据类型

只要是new出来的都是引用数据类型,例如数组

 如图,arr存储的不是具体的数据,而是存储的地址值

所以说:

  • 变量中存储的是地址值
  • 引用指的是:使用了其他空间的数据

特点:数据值是存储在其他空间中,自己空间中存储的是地址值,赋值给其他变量,赋的是地址值

方法的值传递与引用传递

值传递

传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值

 没有new,由此判断是基本数据类型,单纯的值传递在change方法中对number的 *** 作不会影响main方法中的number(变量是有作用范围的,只能在所属范围内有效)

引用传递

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/2991110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存