嗨,我是 OOPS 的初学者,请帮助我理解这一点
如何调用静态类的贬损者?或者如何为静态类、方法和对象释放内存?
嗨,我是 OOPS 的初学者,请帮助我理解这一点
如何调用静态类的贬损者?或者如何为静态类、方法和对象释放内存?
C# 是一种托管语言。这意味着 .NET 将在不再使用时使用所谓的垃圾收集器自动释放内存。例如,这与 C++ 不同,在 C++ 中,您需要显式删除对象才能释放它。在 C++ 中,当您对对象调用 delete 时,将调用对象的析构函数。在 C# 中,每当 .NET 垃圾收集器决定销毁对象时,都会调用析构函数(最终,一旦您没有对它的引用并且它超出范围并且 .NET 决定回收内存)
静态类可以在类内部分配静态变量。静态类没有被调用的析构函数。所以你问题的那一部分不适用。
要为对象实例分配内存,您应该使用构造函数:
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 中的一种函数,所以它们根本不能被分配
无法创建被密封和抽象的静态类,因此无法分配