RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
C#中类的实例成员和静态成员的调用方法,以及它们在内存中的存在形式-创新互联
目录
    • 一、定义
    • 二、性质和调用方法
    • 三、在内存中的存在形式
    • 四、静态成员的使用经验

类中的成员一般分为两种:实例成员和静态成员,注意这里的成员,包含字段、属性以及方法等。

10年积累的网站设计制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有拉萨免费网站建设让你可以放心的选择与我们合作。
一、定义

1、实例成员:在定义时没有被static关键字修饰的成员;

2、静态成员:在定义时被static关键字修饰的成员。


二、性质和调用方法

1、实例成员:属于对象,因此在对成员进行访问的时候需要使用类的实例对象。即先实例化一个对象,再使用对象名.实例成员进行访问和调用;

2、静态成员:属于类,因此在对成员进行访问的时候,可以直接用类名.静态成员进行访问和调用。


三、在内存中的存在形式

1、实例成员:只有在被触发的时候才会被调用,关闭后会被GC(垃圾回收机制)回收(比如学生信息管理系统中的“添加学员"等按钮)。

  • 实例成员虽然只在被调用时才会临时占用内存,但是当调用十分频繁的时候,系统的响应时间也会相应变慢。

2、静态成员:程序运行时就会一直存在在内存中,并且在系统未关闭之前不会被GC回收。

  • 我们知道,主程序一般都是静态函数(static void Main()),这是由静态成员在内存中的存在形式决定的。当一个项目程序运行的时候,静态成员直接被调用到内存中,并且在系统未关闭之前一直存在。因此主程序的入口可以直接运行。但是由于静态成员在内存中一直存在的问题,会导致内存占用很高。

注:GC(垃圾回收机制)

  • .NET虚拟机特有机制,自动运行,并检查对象的状态;
  • 当发现对象不再引用时,会将其释放所占用的空间。
  • GC的使用大大减轻了程序员手动释放对象的操作,且程序运行稳定性提高。
  • 类似于C++中析构函数的使用,当使用delete关键字删除对象时,析构函数会自动调用:
    ~类名()
    {
    }

    但是在.NET中,GC可以取代此功能。

四、静态成员的使用经验

1、例如:在web应用程序中,用户的操作在进行远程请求的时候会不断创建请求(即实例成员在内存中不断被调用且不断产生返回值),当请求数过多时,服务器的响应时间会很长。此时可以考虑使用static修饰。

  • 当类的对象使用(实例成员的调用)非常频繁的时候,可以考虑使用static修饰,但不要使用过多。一方面会一直占用很大内存,另一方面也会不符合面向对象的编程思想。

2、静态成员不能直接调用实例成员(静态方法不能直接调用实例方法),但是实例成员可以直接调用静态成员。

  • 这是因为静态成员在程序运行的时候已经被调用到内存中且一直存在,而实例成员需要在之后通过对象的触发才会被临时调用到内存中。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:C#中类的实例成员和静态成员的调用方法,以及它们在内存中的存在形式-创新互联
网页网址:http://lswzjz.com/article/essgo.html