zoukankan      html  css  js  c++  java
  • C#中静态变量与非静态变量的区别

    1.内存分配

    静态变量在应用程序初始化时,就存在于内存当中,直到它所在的类的程序运行结束时才消亡;而非静态变量需要被实例化后才会分配内存。

    2.生存周期

    静态变量生存周期为应用程序的存在周期; 非静态变量的存在周期取决于实例化的类的存在周期。

    3.调用方式

    静态变量只能通过“类.静态变量名”调用,类的实例不能调用;

    非静态变量当该变量所在的类被实例化后,可通过实例化的类名直接访问。

    4.共享方式

    静态变量是全局变量,被所有类的实例对象共享,即一个实例的改变了静态变量的值,其他同类的实例读到的就是变化后的值;非静态变量是局部变量,不共享的。

    5.访问方式

    静态成员不能访问非静态成员;

    非静态成员可以访问静态成员。

    静态变量在类装载的时候分配内存,以后创建的对象都使用的该内存,相应的操作也就是对这块内存进行操作。也可以看作是另类的全局变量。

    在WebSerivice中想只进行一次初始化,而不用每次都进行初始化这样占用大量资源。还可以对调用的服务进行管理,比如想把每次调用的服务进行排队执行,可以将想应信息放到Arraylist中,静态时钟中排队执行。

  • 相关阅读:
    Web的攻击技术
    基于HTTP的功能追加协议
    确认访问用户身份的认证
    基本数据结构的模拟
    BFS与DFS
    KMP算法
    Trie字典树
    C++的结构体使用
    C++入门(命名空间)
    算法:C++入门
  • 原文地址:https://www.cnblogs.com/luonet/p/2416336.html
Copyright © 2011-2022 走看看