-5
当我调用两次相同的方法并且在实例化同一个对象时会发生什么。假设:当我调用两次相同的方法时发生了什么
void doSomethingMethod()
{
myClass Object1 = new myClass();
...
}
Main()
{
doSomethingMethod(); //<-- first call to the method
.
.
.
doSomethingMethod(); //<-- second call to the method
}
当我第二次调用方法时,类对象会发生什么?它是否被新对象取代?将现有对象中的属性复制到新对象中吗?
你的问题没有多大意义。你的'class'变量(非法C#,因为这是一个保留字)引用一个新的对象,每次调用该方法。在第二次调用该方法时,很可能已经过去了,但在任何情况下,除非您将该引用分配给一个更加永久的变量,否则在此之后它不能被任何代码访问。如果没有人可以访问,它将如何取代?你甚至尝试调试你感兴趣的场景吗? –
你是如何让代码工作将变量命名为'class'的?您需要使用'@class'。如果你想在第二个实例化中替换'@class'对象,则使用全局声明(把'myClass class'放在全局范围内)。在你的情况下,它只能在doSomethingMethod中访问,并且一旦这个方法产生了控制,'@class'变量内存引用将只被垃圾回收器清理。 – ATP