永发信息网

java中方法传递参数为什么可以不用基本数据类型

答案:2  悬赏:20  手机版
解决时间 2021-11-13 03:16
java中方法传递参数为什么可以不用基本数据类型
最佳答案
可以传递基本类型,只是这个参数出了这个方法,这个参数的改变就消失了。
比如你传了2个int值 a,b进去想要让他们交换数值,是在函数里面他们值是交换的,但是出了函数
,还是原来各自的值。
因为对于基本类型,java是把他们的值传进去了,比如你原来的a是某个元素的属性,比如是5,他只是把5这个数复制一份传过去了,这5只是个数字,并不指向a的属性,你的改动是不会影响到a的属性的
对非基本类型,你在函数里的更改可以影响外面是因为直接把那个对象传进去了,改的是那个对象
全部回答
java中的数据类型分为基本数据类型和引用数据类型,
基本数据类型和引用数据类型的区别主要在存储方式上:
基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;
引用数据类型在被床架时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
例如:我有一个类MyDate,其中有属性day,mouth,year等,有构造方法(带参数);
现在为其创建一个对象MyDate d1 = new MyDate(8,8,2008);
在内存中的具体创建过程是:
1)首先在栈内存中位其d1分配一块空间;
2)然后在堆内存中为MyDate对象分配一块空间,并为其三个属性设初值0,0,0;
3)根据类MyDate中对属性的定义,为该对象的三个属性进行赋值操作;
4)调用构造方法,为三个属性赋值为8,8,2008;(注意这个时候d1与MyDate对象之间还没有建立联系)
5)将MyDate对象在堆内存中的地址,赋值给栈中的d1;通过句柄d1可以找到堆中对象的具体信息。追问大神、特别感谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
413+198约等于多少
请问现在市面上的中小型渔船发动机功率大概是
加水促进水解和电离不矛盾吗
郭德纲唱过的太平歌词
鑫顺钣金喷漆(绥化北林区)地址在哪,我要去那
欧若拉与耶尔库的故事是北欧神话创的还是《盖
钟祥那边地基能买卖吗 个人能拿几块
我的世界要做一个1米65的人要什么比例
秋天的雨把颜料仿造句
崖柏用搓澡巾里面还是外面盘
2017敦刻尔克和厌战选哪个好
没有民往证可以孝驾照吗
想给酒起个名字
结婚吉日中阴阳将是按月份还是接节令区分
最好的专业声卡是什么?
推荐资讯
祛皱产品珍姿润的安全性怎么样?
OPPO N3什么时候可以升级colorOS3
qq游戏大厅里的麻将牌怎么改大
宝骏560多缸失火原因
有哪些形容很慢的词语?
脑筋急转弯我去树上摘香瓜,一分钟摘一个,请问
杨庄小学(平顶山宝丰县)地址有知道的么?有点
《妈妈的选择》(1-18完)演员名单都有谁?
若在8与22之间插入8个数,使这10个数构成等差
搭档总以老板自居,我该怎么办
谁有MI2C的V6刷机包
如何更改音频文件格式
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?