LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#编程基础:静态成员与实例成员的区别及访问方式

admin
2024年11月10日 9:36 本文热度 92

在C#中,静态成员(Static Members)和实例成员(Instance Members)是类的两种不同类型的成员,它们在定义、存储位置、访问方式以及生命周期等方面存在显著区别。

静态成员

  1. 定义:静态成员是使用static关键字修饰的成员,它们属于类本身,而不是类的任何特定实例。
  2. 存储位置:静态成员存储在托管堆的静态存储区域中,而不是在实例对象的内存中。
  3. 访问方式:静态成员通过类名直接访问,而不是通过类的实例。例如,ClassName.StaticMember。
  4. 生命周期:静态成员在程序运行期间一直存在,直到程序结束。它们的生命周期与应用程序域相关联。
  5. 共享性:类的所有实例共享同一个静态成员的值。如果在一个实例中修改了静态成员的值,那么在其他实例中访问该成员时,将看到修改后的值。

实例成员

  1. 定义:实例成员是不使用static关键字修饰的成员,它们属于类的实例(对象)。
  2. 存储位置:实例成员存储在托管堆的对象内存中,每个实例都有自己的成员副本。
  3. 访问方式:实例成员通过类的实例访问。例如,objectName.InstanceMember。
  4. 生命周期:实例成员的生命周期与实例对象的生命周期相关联。当对象被创建时,它的成员被分配内存;当对象被垃圾回收时,它的成员的内存也被释放。
  5. 独立性:每个类的实例都有自己的实例成员副本,因此修改一个实例的成员不会影响其他实例的成员。

访问示例

public class MyClass{    // 静态成员    public static int StaticField = 10;    public static void StaticMethod()    {        Console.WriteLine("This is a static method.");    }
   // 实例成员    public int InstanceField = 20;    public void InstanceMethod()    {        Console.WriteLine("This is an instance method.");    }}
class Program{    static void Main(string[] args)    {        // 访问静态成员        Console.WriteLine(MyClass.StaticField); // 输出: 10        MyClass.StaticMethod(); // 输出: This is a static method.
       // 创建类的实例        MyClass obj = new MyClass();
       // 访问实例成员        Console.WriteLine(obj.InstanceField); // 输出: 20        obj.InstanceMethod(); // 输出: This is an instance method.    }}

在上面的示例中,StaticField和StaticMethod是MyClass的静态成员,它们通过类名MyClass直接访问。而InstanceField和InstanceMethod是MyClass的实例成员,它们通过MyClass的实例obj访问。

注意事项

  • 静态成员不能访问实例成员(除非通过实例的引用),因为静态成员在实例创建之前就已经存在,并且它们不知道任何特定的实例。
  • 实例成员可以访问静态成员,因为实例成员可以访问类级别的任何内容。
  • 静态构造函数(如果有的话)在类的任何静态成员被访问之前执行一次,而实例构造函数在每次创建类的实例时执行。

该文章在 2024/11/11 10:23:19 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved