package test;
public class Test02 {
public static void main(String[] args) {
int i=9;
changeVal(i);
System.out.println(i);
Integer j=9;
changeVal(j);
System.out.println(j);
String xx = "123";
changeVal(xx);
System.out.println(xx);
Member m = new Member("123",9);
changeVal(m);
System.out.println(m);
}
public static void changeVal(int i){
i=10;
}
public static void changeVal(Integer i){
i=10;
}
public static void changeVal(String i){
i="abc";
}
public static void changeVal(Member member){
member.setI("abc");
member.setJ(100);
}
}
class Member{
public String i;
public int j;
public Member() {
super();
}
public Member(String i, int j) {
this.i = i;
this.j = j;
}
public String getI() {
return i;
}
public void setI(String i) {
this.i = i;
}
public int getJ() {
return j;
}
public void setJ(int j) {
this.j = j;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return i+"_"+j;
}
}
执行结果是:
9
9
123
abc_100
这里int、Integer类型是值传递,方法的参数只是对象的复制,内存地址是不同的,修改的对象也是不同的
Member的传递是引用传递,指向的都是同一个对象
相关推荐
java 值传递和引用传递的比较区别,包括代码及详解
Java:按值传递还是按引用传递详细解说
本人经过长时间收集的最经典、最有说服力、最易懂的关于值传递和引用传递的详解资料~包看包会~发出去真有些不舍得~
主要介绍了 Java 值传递和引用传递详解及实例代码的相关资料,需要的朋友可以参考下
不管是按值传递还是按引用传递,都是把栈中的数据备份了一份给参数变量,只不过值类型备份的是具体的数值,而引用类型备份的是内存地址
Java面向对象值传递和引用传递Java面向对象值传递和引用传递Java面向对象值传递和引用传递Java面向对象值传递和引用传递
主要为大家详细介绍了Java值传递和引用传递,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递.zip13.java参数传递之引用传递....
java学习java语言的值传递和引用传递
这个在Java里面是经常被提起的问题,也有一些争论,似乎最后还有一个所谓的结论...事实上,这很容易让人迷惑,下面先分别看看什么是按值传递,什么是按引用传递,只要能正确理解,至于称作按什么传递就不是个大问题了。
java 中没有引用传递,都是值传递的,可以通过传递副本修改对象的,副本交换,并不影响原引用
主要介绍了Java中值传递和引用传递的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
当一个变量为一个参数传入方法内部的时候,会有两种不同的传递方式:值传递和引用传递。 值传递的特点:不管方法内部对传进去的参数作任何改变,也不会影响方法外部的变量的值 引用传递的特点:方法内部对传...
Java中的值传递和引用传递的区别.doc
Java语言中参数值传递和引用传递比较
Java的按值传递和按引用传递分析 Java的按值传递和按引用传递分析.pdf
java中的值传递和引用传递[汇编].pdf
java参数传递时到底是值传递还是引用传递分享.pdf
Java的按值传递和按引用传递分析.rar
java参数传递时到底是值传递还是引用传递[归类].pdf