zoukankan      html  css  js  c++  java
  • C#静态成员

    静态成员:标识为static的字段,方法,属性,构造函数,事件,就是静态成员

    class Dog
    
    {
    
        static int Num;
    
    }

    静态成员将被类的所有实例共享(即公共财产),所有实例都访问同一内存位置。

    静态成员将直接通过类名访问,不需要实例化。(它们仅和整个类有关)。

    静态成员和实例成员分开保存。

    静态成员的生存期:独立于任何实例,没有实例也可以访问。其初始化语句在任何静态成员使用之前调用。

       例如:系统方法内的字段均使用静态成员。不需要实例化,直接调用。

    静态函数:

        1)静态函数也独立于任何实例,没有实例也可以调用。

        2)静态函数不能访问实例成员,仅能访问其他静态成员

    静态构造函数:

    1)静态构造函数用于初始化静态字段。(为静态成员而生)

    2)在引用任何静态成员之前,和创建任何实例之前调用

    3)与类同名,使用static,无参数,无访问修饰符

    静态类:

    1、如果类只包含了静态的方法和属性,并且标识为static;

    2、静态类不能创建实例,不能被继承;;

    3、可以为静态类定义一个静态构造函数。

    静态类主要用于基础类库(如数学库(Math类))和扩展方法。

    如何扩展方法:

    1、如果有源代码,直接添加一个新方法

    2、如果不能修改但是也不是密闭类,可以派生子类扩展

    3、如果以上条件都不满足,可以使用静态类扩展方法

    扩展要求:

    扩展方法所属的类,必须是static类

    扩展方法本身必须是static方法

    扩展方法的第一个参数类型,必须是this+要扩展的类名

        //对Cat类 进行扩展
    
        static class aaa
    
        {
    
            static public void ab(this Cat cat)
    
            {
    
                Console.WriteLine("13:");
    
            }       
    
        }
    
    //调用
    
     Cat b = new Cat("66");
    
     b.ab();
  • 相关阅读:
    Tom和Jerry来了,Tom和Jerry走了——北漂18年(38)
    查找(一)史上最简单清晰的红黑树解说
    HDU4763-Theme Section(KMP+二分)
    Loadrunner得到server參数
    hdu 4002
    javascript——从「最被误解的语言」到「最流行的语言」
    【云快讯】之四十八《IBM和Cisco最新收购,加强Openstack易用能力》
    2013级学生两学期编程量统计
    Hadoop高速入门
    HDOJ 3339 In Action
  • 原文地址:https://www.cnblogs.com/sunmarvell/p/12190576.html
Copyright © 2011-2022 走看看