文档章节

java 值传递,和引用传递的问题

h
 horacerain
发布于 2016/11/23 10:15
字数 236
阅读 2
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

1,如果是基本数据类型和String类型,显然是值传递, 作为参数的引用被修改只是一个副本, 不影响它原来的值。 2,引用类型 传递时,可以修改 引用所指向对象的属性,但不能直接对这个引用赋新值。

public class translation {
	
	public static void main(String[] args) {
		User user1 = new User("张三",12);
		User user2 = new User("李四",20);
		User user3 = new User("王五",50);
		trans(user1,user2);
		objTrans(user3);
		System.out.println(user1.toString()+"\n"+user2.toString()+"\n"+user3.toString());
	}
	public static void objTrans(User user){   //修改对象的属性  ,可以引用传递
		user.name="老王";
	}
	public static void trans(User u1,User u2){   //
		User temp = new User();
		temp = u1;
		u1=u2;
		u2=temp;
	}
}
class User{
	String name;
	int age;
	public User() {
		// TODO Auto-generated constructor stub
	}
	public User(String name,int age) {
		this.name=name;
		this.age=age;
	}
	@Override
	public String toString() {
		return "User [age=" + age + ", name=" + name + "]";
	}
	
}
        结果:
        User [age=12, name=张三]
        User [age=20, name=李四]
        User [age=50, name=老王]

© 著作权归作者所有

h
粉丝 0
博文 18
码字总数 2064
作品 0
海淀
私信 提问
加载中

评论(0)

Java是值传递还是引用传递-总结

这个话题一直是Java程序员的一个热议话题,争论不断,但是不论是你百度搜也好还是去看官方的文档中所标明的也好,得到的都只有一个结论:Java只有值传递。 在这里就不贴代码细致解释了,让我...

osc_p8zyme9p
2018/02/12
4
0
我要彻底给你讲清楚,Java就是值传递,不接受争辩的那种!

前言 关于Java中方法间的参数传递到底是怎样的、为什么很多人说Java只有值传递等问题,一直困惑着很多人,甚至我在面试的时候问过很多有丰富经验的开发者,他们也很难解释的很清楚。 我很久也...

wx5e957713e71c9
04/14
0
0
188W+程序员关注过的问题:Java到底是值传递还是引用传递?

在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很多的程序员被这个问题...

osc_agn9pfb0
04/16
2
0
JVM基础:深入学习JVM堆与JVM栈

以前堆是干啥栈是干啥都知道,就是没连在一起想想。感觉讲的不错的一篇儿~~JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题,即数据怎么放、放在...

李星
2014/06/04
613
1
在Java中字符串是通过引用传递的?

这是一个经典的java问题。在stackoverflow上,许多类似的问题已经被问过了,但是许多回答是错误的或不完整的。 如果你不想深入思考的话,这个问题很简单。如果你想明白的更彻底,那么问题可能...

osc_jxumvtli
2018/05/03
2
0

没有更多内容

加载失败,请刷新页面

加载更多

Python笔记:各省份/直辖市新冠疫情确诊及治愈人数对比

湖北省: import requestsfrom pyecharts.charts import *from pyecharts import options as optsurl = "https://lab.isaaclin.cn/nCoV/api/area"data = requests.get(url).json()......

tengyulong
40分钟前
16
0
使用“ let”和“ var”有什么区别? - What's the difference between using “let” and “var”?

问题: ECMAScript 6 introduced the let statement . ECMAScript 6引入了let语句 。 I've heard it that it's described as a "local" variable, but I'm still not quite sure how it beh......

javail
今天
17
0
如何将文件重置或还原到特定版本? - How can I reset or revert a file to a specific revision?

问题: I have made some changes to a file which has been committed a few times as part of a group of files, but now want to reset/revert the changes on it back to a previous ver......

fyin1314
今天
24
0
OSChina 周五乱弹 —— 头发和不要头发,你总要选一个

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《雾 缀じた街 ふたつのかげ》- Porkkana 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
41
0
一道 算法题 引发的 ‘xx现场’

请 熟悉的语言 去 验证 在输入框中输入的是否是一个正确的网址 初次读题萌新有点 不知所措的样子一查 MDN 吓一跳 ----- 一个不怎么熟悉的方法跳出眼边URL() 构造函数返回一个新创建的 ...

酒窝yun过去了
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部