- class PassRef
- {
- int x;
- public static void main(String[] args)
- {
- PassRef obj = new PassRef();
- obj.x=5;
- change(obj);
- System.out.println(obj.x);
- }
- public static void change(PassRef obj)
- {
- obj.x=3;
- }
- }
复制代码
你在主函数里实例了对象,调用了int x成员变量,接着又调用静态方法内的局部变量(具体说应该是引用了成员变量)
也就是说int x = 5被 int x = 3,覆盖了,那么最后输出结果obj.x当然是3
至于第二个程序我觉得有点问题,change的方法体与你那个参数列表不对 |