作者darkk6 (Mr. Pan)
看板java
标题Re: [问题] 一个关於reference的问题...
时间Wed Dec 4 13:53:06 2013
简单来说,你所替换掉的只有 tryToReplace 方法中 otherObject
变数所指向的物件而已,不影响 main 里面的 s1 和 s2
: public class ParametersDemo
: {
: public static void main(String[] args)
: {
: DemoSpecies s1 = new DemoSpecies( ),
: s2 = new DemoSpecies( );
: s1.setSpecies("Klingon Ox", 10, 15);
: s2.setSpecies("Ferengie Fur Ball", 90, 56);
: s1.tryToReplace(s2);
: }
: }
: public class DemoSpecies
: {
: public void tryToReplace(DemoSpecies otherObject)
: {
// 在这边 otherObject == s2
: otherObject = this;
// 到这边 otherObject == s1
: }
: }
无论怎麽更变,充其量也只有替换掉 tryToReplace 中这个
otherObject 所指向的 obejct ,不影响 main 中的 s1 , s2
也就是所做的只有将底下绿色的部分变成黄色:
s1 ────┐
│
↓
DemoSpecies No.1
←──────┐
otherObject
( in s1 tryToReplace )
DemoSpecies No.2
←──────┘
↑
│
s2 ────┘
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.174.231.16
1F:推 marketcos:真的是非常谢谢! 弄清楚了 12/06 17:07