在静态方法中实例化的对象发生了什么

本文关键字:对象 发生了 什么 实例化 静态方法 | 更新日期: 2023-09-27 18:17:34

我有一个静态对象,看起来有点像这样:

public static class MyStaticObject
{    
   public static void SomeMethod()
   {
       MyObject TheObject = new MyObject();    
       //some long runnning tasks
   }
}

可以看到,当SomeMethod()运行时,它创建了一个MyObject。创建它的方法返回后,这个实例化对象会发生什么?如果SomeMethod()被再次调用,而它已经执行响应前一个方法调用,是否会有并发问题,或者每个方法调用实例化自己的MyObject ?

TheObject只是一个局部变量,无论方法是否是静态的,它的行为都是一样的。

所以在方法返回之后,对象(如果不再有对它的引用)就可以被垃圾收集器回收了。

在递归的情况下,只会创建另一个局部变量。

如果您有C/C++背景,TheObject C/C++术语中不是 static变量。

在静态方法中实例化的对象发生了什么

相关文章: