public class PassTest{
float m_float;
void change1(int pi) )(pi=100;
i)
void change2(String ps)
{ pS=
ps=new String("Right"); }
void change3(PassTest po){
po.m_float =100.0f;}
public static void main(String[] args){
PassTest pt=new PassTest();
t=
int i=22;
.
pt.change1(i);
System.out.println("i value is"+i);
String new String("Hello");
pt.change2(s);
pt.change3(pt);
System.out.println("Current pt.m_float is "+pt.m_float);
System.out.println("i value is"+i);
输出:i value is 12
System.out.println("Current pt.m_float is "+pt.m_float);
输出:Current pt.m_float is 100.0
原因:基本数据类型作为方法的形参,其值不可被修改,故第一个打印依然是12;
引用类型作为方法形参,其指针地址不可被修改,但其内部参数值可以修改,故第二个打印是100.0