也就是说 pt1.changePoint(point); 中的point还是指向 class Point中的 int x; int y;么???
画的是丑了点,不过这么细心,斑竹,求表扬。因为在changePoint()方法中重新创建了一个对象并赋给传入的参数,其实这个方法没有参数也没有返回值,就是自个在那里玩,所以,其操作对方法外面的所有代码不会产生任何影响(在你的情况下),要产生影响,需要去掉point = new Point();这句话
说明问题就好,楼主可以看看关于Java参数传递的相关内容。更全面的了解Java参数传递机制。
也就是说 pt1.changePoint(point); 中的point还是指向 class Point中的 int x; int y;么??? 打个比方吧:引用就像遥控器,new动作会产生一台电视机,而不同的方法区、作用域可以看做不同的房间。 你在主方法产生一个遥控器和电视机,然后带着遥控器去了另外一个房间,此时遥控器可以遥控原来房间的电视,但是没有遥控原来的电视,而是又生产了一台电视机,遥控了下这个新生产的电视机,接着回到原来房间,此时原来房间的电视机是没有换台的。
也就是说
pt1.changePoint(point);
中的point还是指向 class Point中的 int x; int y;么???
也就是说
pt1.changePoint(point);
中的point还是指向 class Point中的 int x; int y;么???
打个比方吧:引用就像遥控器,new动作会产生一台电视机,而不同的方法区、作用域可以看做不同的房间。
你在主方法产生一个遥控器和电视机,然后带着遥控器去了另外一个房间,此时遥控器可以遥控原来房间的电视,但是没有遥控原来的电视,而是又生产了一台电视机,遥控了下这个新生产的电视机,接着回到原来房间,此时原来房间的电视机是没有换台的。