/**
- 引用類型傳遞
- @author bo
*/
class Change{
//聲明屬性 賦初始值
int x = 0;
}
public class QuoteTest {
public static void main(String[]args) {
Change change = new Change();
//此時x的值為20光戈,
change.x = 20;
//調(diào)用方法改變對象的屬性值
fun1(change);//
//所以
System.out.println("x=== "+ change.x);
/**
* 程序只在fun1()中才將x的值賦為25冠桃,為什么方法調(diào)用完成之后還將值保留下來呢虹钮??
*
*/
}
/***
- 因為接收的參數(shù)對象是一個對象 夜涕。也就是說 c1是一個對象的引用.
- 所以在fun1方法中的操作 在操作完成之后就會影響原來對象的參數(shù)...
- 此處將對象賦值給了c1 c1通過方法體改變x的值何恶,此時 c1 與change指向同一塊內(nèi)存空間。
- 所以方法體改變了x的值 咐汞,相當(dāng)于外部的change.x = 25;
- @param c1 Change對象
*/
public static void fun1(Change c1)
{
c1.x = 25;
}
}