0

嗨,我是 OOPS 的初学者,请帮助我理解这一点

如何调用静态类的贬损者?或者如何为静态类、方法和对象释放内存?

4

2 回答 2

0

C# 是一种托管语言。这意味着 .NET 将在不再使用时使用所谓的垃圾收集器自动释放内存。例如,这与 C++ 不同,在 C++ 中,您需要显式删除对象才能释放它。在 C++ 中,当您对对象调用 delete 时,将调用对象的析构函数。在 C# 中,每当 .NET 垃圾收集器决定销毁对象时,都会调用析构函数(最终,一旦您没有对它的引用并且它超出范围并且 .NET 决定回收内存)

静态类可以在类内部分配静态变量。静态类没有被调用的析构函数。所以你问题的那一部分不适用。

于 2014-02-27T06:48:21.017 回答
0

要为对象实例分配内存,您应该使用构造函数

  Object o = new Object();
  MyClass m = new MyClass(); 

*静态字段*s由.Net分配;所以只需声明它们:

  public class MyClass {
    public static Object o = new Object();
    public static int i = 123;
  }  

方法,属性是 C 中的一种函数,所以它们根本不能被分配

无法创建被密封抽象的静态类,因此无法分配

于 2014-02-27T06:48:55.060 回答