class PassParam4...{
int obj_param;
public static void main(String[] args)...{
int param;
param = 50;
changeParam(param);//調用1:基本變數類型的傳遞(掌握此時棧記憶體,堆記憶體的關係)
System.out.println(param);
/** *//*******************************/
PassParam4 paramObj = new PassParam4();
paramObj.obj_param = 50;
changeParam(paramObj.obj_param);//調用2:基本變數類型的傳遞(實際操作的是兩個基本類型變數)
System.out.println(paramObj.obj_param);
paramObj.obj_param = 50;
changeParam1(paramObj);//調用3:對象的傳遞(實際操作的是同一個對象)
System.out.println(paramObj.obj_param);
paramObj.obj_param = 50;
changeParam2(paramObj);//調用4:對象的傳遞(實際傳遞的是一個對象,change的是另一個對象)
System.out.println(paramObj.obj_param);
}
public static void changeParam(int param)...{
param = 30;
}
public static void changeParam1(PassParam4 paramObj)...{
paramObj.obj_param = 30;
}
public static void changeParam2(PassParam4 paramObj)...{
paramObj = new PassParam4();
paramObj.obj_param = 30;
}
}