class letter{
char c;
}
public class passobject {
static void f(letter y){
y.c='z';
}
public static void main(string[] args){
letter x=new letter();
x.c='a';
system.out.println("1:x.c:"+x.c);
f(x);
system.out.println("2:x.c:"+x.c);
}
}
程序从main函数开始执行,new出了一个x对象,并把其成员数据c赋值为a,然后打印出来,结果为a,然后调用静态函数static void f(letter y),需要注意的是这里参数传递用的是引用传递,所以是同一个对象,在静态函数里面执行的操作都是对x对象而言的,所以操作完成后,输出的是z
楼主还有什么不明白的吗?
Think in Java p40 3.4.1
最新推荐文章于 2024-09-08 10:40:56 发布