值传递的Java

来源:互联网 发布:新闻英语听力训练软件 编辑:程序博客网 时间:2024/06/05 02:00

上个月看来一篇博客,论述的是Java到底是值传递还是引用传递?里面列举的一个简单的例子来论证这个问题。首先我们先了解一下什么事值传递和引用传递。

值传递:
对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。

引用传递:
对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

下面看这段代码,在这段代码里,有一个swap的方法用于两个数值之间的交换作用,在main方法里我们执行了swap方法后,看看a,b两个值是否与swap里打印的值一样。

public static void swap(int a,int b){        int temp = a;        a = b;        b = temp;        System.out.println("after swap: a="+a+" b="+b);    }    public static void main(String[] args) {        int a= 9,b = 5;        System.out.println("before swap: a="+a+" b="+b);        swap(a, b);        System.out.println("---> a="+a+" b="+b);    }

测试结果:

before swap: a=9 b=5after swap: a=5 b=9---> a=9 b=5

我们可以清楚的看到,虽然在swap方法里进行了两个数值之间的交换,但是并不影响main方法里a,b的初始值。由此看我,Java还是由值传递的。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 想摆摊卖麻辣烫不知怎么摆怎么办 在淘宝卖东西买家退款不退货怎么办 在闲鱼网上买东西被骗了怎么办 开通花呗的手机号不用了怎么办 饿了么开业第一天没单量怎么办 淘宝新开店铺没有人来呀怎么办 刚开的淘宝店铺没有人买东西怎么办 开了一家龙虾店生意很淡怎么办? 新买的皮质小白鞋有点板脚怎么办 手机无效安装包与系统不兼容怎么办 发好的海参放进速冻后变小了怎么办 厨房地砖下面的下水管漏水怎么办? 埋在地下的暖气管漏水怎么办 安装个视频播放器视频全没了怎么办 奇迹mu圣导转职任务打不过怎么办 丈夫死后房产证过给妻子怎么办 学业与志愿活动冲突时你会怎么办 往宅正门前面有半园幕墙玻璃怎么办 模拟城市5石油抽干了怎么办 一户一宅我父亲没有宅基怎么办? 在日本坐新干线期间车票丢了怎么办 街电共享充电宝丢了怎么办 征兵体检时做过疝气手术怎么办 百度网盘手机储存空间不足怎么办 在家带孩子老公不给生活费怎么办 手机蚂蚁浏览器先锋资源没了怎么办 当你发现你的爱人和别人暧昧怎么办 当你的爱人不再爱的时候该怎么办 基督徒的婚姻不是上帝的旨意怎么办 音乐酒吧客人老是要上台唱歌怎么办 高一孩子学习没有动力家长怎么办 我不想当公司监事法人不同意怎么办 领导让我当组长我不想当怎么办 如果你是班委你不想当了怎么办 孩子读初一爱和同学打架怎么办 陌陌情感连线部分功能被限制怎么办 华为荣耀7x密码忘了怎么办 华为荣耀7x应用锁密码忘了怎么办 同学群里有人发低俗信息怎么办 小孩读英语绘本大人不会翻译怎么办 东西掉到手刹缝里面了怎么办