zoukankan      html  css  js  c++  java
  • java中,方法参数是基本类型和引用类型的区别

    方法参数是基本类型时,传递的是值。 
    方法参数是引用类型时,传递的是内存地址值

    当参数是基本类型时,在调用方法时将值传递到方法中,运行方法,运行结束方法退出,对原本main中定义的变量没有任何操作(方法中没有return)。即:此时只跟栈有关系,方法执行完之后(方法中没有return),会弹栈。

    当参数是引用类型时,比如:定义数组时,在堆内存中存储了数组的数据,返回这组数据的地址给了数组名,然后在调用方法时,传递的也是这个地址。在方法中,同样也是根据这个地址找到数组的信息,然后改变了这个数据的,所以之后main方法输出时,输出的是改变了之后的数组。即:此时跟栈和堆有关系,栈可以弹栈,堆内存不能弹出。

    也就是说 ,当形式参数是基本类型时,方法传的只是值,实际上main 里的实际参数和外部方法里的形式参数是不同的两个东西,如果方法不返回值,change里不管怎么改变,与main无关。
    而当形式参数是引用类型时,比如:形式参数是数组时,两个方法通过同一个地址,使用的是同一个堆内存里的数组,是同一个东西,所以外部方法里面改变了这个数组之后,main再调用也是改变之后的数组。

  • 相关阅读:
    无法往u盘里边复制超过4G的单个文件解决方法
    vue 自定义属性判断点击每个item 显示隐藏
    前端小组分享会之异步回调函数中的上下文
    git 的一些命令
    ES学习之promise
    mac找到占用端口号的进程ID
    meta link
    webpack学习笔记--安装
    css样式之 direction
    日常积累之JSON.stringify和JSON.parse substr
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/9822434.html
Copyright © 2011-2022 走看看