java 中的引用是什么意思
4个回答
展开全部
引用就是指向同一块内存,举个例子看看区别
void fun1(int i){
i=i+1;
}
void fun2(User u){
u.i=u.i+1;
}
如果i的初始值为0,在main函数中分别调用这两个方法
那么调用fun1之后i的值还是0
而u.i的值将会是1
void fun1(int i){
i=i+1;
}
void fun2(User u){
u.i=u.i+1;
}
如果i的初始值为0,在main函数中分别调用这两个方法
那么调用fun1之后i的值还是0
而u.i的值将会是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实,你就当做指针看就可以,只不过不能说是指针。。。分析内存之类的,就当指针看。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在java实现某个功能的时候,会将类实例化成对象,然后jvm再对实例化后的对象进行操作。
实例化后的对象可以赋值,也可以引用。赋值时,java会开辟一个新的地址用于存放变量,而引用则不开辟地址。
String a = "a";
String b = "a";
将String类实例化成对象a与b,并赋值
String c = new String("a");
将c指向new出来的String型对象"a"
System.out.println(a==b);
System.out.println(a==c);
由于a与b都为对象赋值,打印出来的结果应该是true
而c是引用对象“a”,所以打印出来的结果应该是false
对象:一个类的具体实例化;
引用:对象的别名,使用该别名可以存放该对象,编译器不会为引用分配空间,新对象与源对象共用一个存储地址空间;引用的生命周期是它所引用的对象的生命周期,函数里返回一个局部对象的引用是很危险的
给你推荐一种最简单的理解方式:引用就好比是给商品贴的标签,你通过标签可以拿到这个商品.......我开始就是这么理解的,后来用多了就意会啦.....
实例化后的对象可以赋值,也可以引用。赋值时,java会开辟一个新的地址用于存放变量,而引用则不开辟地址。
String a = "a";
String b = "a";
将String类实例化成对象a与b,并赋值
String c = new String("a");
将c指向new出来的String型对象"a"
System.out.println(a==b);
System.out.println(a==c);
由于a与b都为对象赋值,打印出来的结果应该是true
而c是引用对象“a”,所以打印出来的结果应该是false
对象:一个类的具体实例化;
引用:对象的别名,使用该别名可以存放该对象,编译器不会为引用分配空间,新对象与源对象共用一个存储地址空间;引用的生命周期是它所引用的对象的生命周期,函数里返回一个局部对象的引用是很危险的
给你推荐一种最简单的理解方式:引用就好比是给商品贴的标签,你通过标签可以拿到这个商品.......我开始就是这么理解的,后来用多了就意会啦.....
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询