我将对象传递给一个类并对对象进行一些更改,但实际对象保持不变。
例如:
public class Xclass
{
public var counter:int=1;
}
private function mymethod(x:Xclass):void
{
x.counter = 10;
}
从这个方法出来后,计数器的值仍然是 1 而不是 10。
我的代码有什么问题吗?或者是否有任何其他方式通过引用传递对象。
我将对象传递给一个类并对对象进行一些更改,但实际对象保持不变。
例如:
public class Xclass
{
public var counter:int=1;
}
private function mymethod(x:Xclass):void
{
x.counter = 10;
}
从这个方法出来后,计数器的值仍然是 1 而不是 10。
我的代码有什么问题吗?或者是否有任何其他方式通过引用传递对象。
它在 AS3 中工作正常,看看下面的代码:
主类:
package
{
import flash.display.Sprite;
public class TesteCake extends Sprite
{
public function TesteCake()
{
var xclass:XClass = new XClass();
trace(xclass.getCounter());
changeCounterXClass(xclass);
trace(xclass.getCounter());
}
private function changeCounterXClass(xclass:XClass):void{
xclass.setCounter(10);
}
}
}
它是 XClass.as (这个类在其他 .as 文件中)
package
{
public final class XClass
{
private var counter:int = 1;
public function setCounter(value:int):void{
counter = value;
}
public function getCounter():int{
return counter;
}
}
}
我希望这可以帮助你!