当前位置: 代码迷 >> J2EE >> 大家帮忙看看解决方案
  详细解决方案

大家帮忙看看解决方案

热度:484   发布时间:2016-04-22 03:06:51.0
大家帮忙看看
public class ReferenceType { 
public void changeReference(Point point) {  
point = null; 
}

public static void main(String[] args) {  
Point point = new Point(1, 2);  
ReferenceType test = new ReferenceType();  
test.changeReference(point);
int x = point.x;
System.out.println("x 的值是 " + x );
}

}


test.changeReference(point); 调用这个后,下面是否会报空指针呢?
不报,可是为什么呢?

------解决方案--------------------
形参和实参的问题
------解决方案--------------------
不会报异常,

test.changeReference(point);
执行到这里得时候:把 point传进changeReference()里面

public void changeReference(Point point) {
point = null; //这里得point是changeReference里的局部变量,只在changeReference中有效
//和前面那个point没有任何关系,只是碰巧重名了


int x = point.x;

所以不会报异常。

如果把changeReference函数改下,就好理解了

public void changeReference(Point point2) {
point2 = null; 

  相关解决方案