分享

static的理解

 流年的熊 2010-10-18
1.    static关键字修饰:类、方法、属性、构造函数、字段等。
2.    static 中文意思就是 静态的,静态的就是说它不会动,不会动的意思就是说它不会变化变话,不会变化的意思就是说,它在所有实例化的对象中都是一样的。它不会随着实例化的对象不同而不同。都共享它。都可以操作或者改变它。 
3.    静态标记,可以一直记录变量的值,一直到下次赋值时。
4.    实际上在.net中“类型”其实也是一个对象!在第一次实例化某类型的对象之前,首先实例化类型对象。而static的变量就在类型对象中,而不在对象中。尽管,你编写代码时感觉static声明的变量跟对象范围的变量(以及属性)都写在一起,实际上它们不在一起。
5.静态方法用得比较多,File和Directories类下很多都是静态方法,好处就是不用实例化类。
6.     静态类 可以制定一个静态构造方法来构造他. 并且 他不需要声明 直接可以使用
静态类的静态方法和属性也是直接可以类名.方法名(参数) 来访问.
        静态方法 初学者可能会考虑静态方法在多线程调用中是否会产生冲突. 在这里说明一下.静态方法虽然是静态的,但是每一个线程在同一时间访问的静态方法都是不同的.如果在静态方法中没有用到静态属性是不会产生冲突的.
        静态属性 这个和静态方法是相反的.不同线程下访问的静态属性总是同一属性,如果某一线程更改了属性值,那么将造成其他线程访问静态属性值的错误. 方法中访问同一静态属性 需要使用lock关键字,或者创建互斥体对象来保持静态属性在同一时间只能被某一对象的属性或者方法访问。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多