Java中的值傳遞和引用傳遞實例介紹
更新時間:2013年09月29日 16:29:12 作者:
java 中沒有引用傳遞,都是值傳遞的,可以通過傳遞副本修改對象的,副本交換,并不影響原引用
復制代碼 代碼如下:
package Object.reference;
public class People {
private String name;
private int age;
public People(){
}
public People(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String toString(){
return "name:" + name + " age:" + age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
復制代碼 代碼如下:
package Object.reference;
/* java 中的值傳遞和引用傳遞
http://www.dbjr.com.cn/clara/archive/2011/09/17/2179493.html
java 中沒有引用傳遞,都是值傳遞的
*/
public class Test {
public static void swap(People a, People b, boolean flag) {
if (flag) {
// 可以通過傳遞副本修改對象的值
a.setName("changeName");
a.setAge(100);
} else {
//副本交換,并不影響主程序的指針
People c = a;
a = b;
b = c;
}
}
public static void main(String[] args) {
People p1 = new People("yingjie", 23);
People p2 = new People("yuexin", 20);
swap(p1, p2,false);//傳遞的是p1,p2的副本,函數(shù)調(diào)用前后p1,p2沒任何改變
swap(p1, p2,true);//傳遞的是p1,p2的副本,可以通過傳遞副本修改對象的值,函數(shù)調(diào)用前后p1對象內(nèi)容改變
}
}
相關(guān)文章
Hystrix?Dashboard斷路監(jiān)控儀表盤的實現(xiàn)詳細介紹
這篇文章主要介紹了Hystrix?Dashboard斷路監(jiān)控儀表盤的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-09-09SpringBoot集成Druid實現(xiàn)多數(shù)據(jù)源的兩種方式
這篇文章主要介紹了SpringBoot集成Druid實現(xiàn)多數(shù)據(jù)源的兩種方式,集成com.baomidou的方式和基于AOP手動實現(xiàn)多數(shù)據(jù)源原生的方式,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-03-03springboot實現(xiàn)學生管理系統(tǒng)
這篇文章主要為大家詳細介紹了springboot實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-07-07