实例方法和字段的副本数

本文关键字:副本 字段 实例方法 | 更新日期: 2023-09-27 18:12:27

只是好奇。

如果我创建一个特定类的2个对象,那么实例方法和实例变量的2个实例存在于该特定类的内存中?

编辑:我尝试了static,可以肯定的是,只有一个成员的实例在那里,但不确定与实例变量虽然。

实例方法和字段的副本数

如果我创建一个特定类的2个对象,那么实例方法和实例变量的2个实例存在于该特定类的内存中?

实例字段-是。实例方法(包括属性访问器),没有。代码(包括实例和静态)在所有实例之间共享。

请注意,静态类将为使用的每个泛型参数创建一个额外的类型,并且这些类型中的每个类型将共享一组静态变量,因此,例如:
// for example only, not intended to be a perfect singleton implementation
public class Singleton<T> where t : new()
{
    private static T _Instance;
    public T Instance()
    {
        return _Instance ?? (_Instance = new T());
    }
}

Singleton<Class1>Singleton<Class2>_Instance的内存中将各有一个不同的对象。