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

静态成员将被类的所有实例共享,所有实例都访问同一内存位置。静态成员和实例成员在内存中被分开保存。

静态成员可直接通过类名访问,没有实例也可以访问。

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

静态构造函数:

静态构造函数用于初始化静态字段

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

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

class Dog{
static Dog(){
num=0;
}
}

②静态类

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

静态类不能创建实例不能被继承

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

静态类的作用:

1.作为基础类库,储存很多信息

2.作为扩展方法:

在不知晓源代码、密闭类不能派生时,就可以使用静态类作为拓展方法。

但是拓展方法需要指明对象(可在未实例化之前)。

 

如:

static class Write{
public static void Writepaper(this Pen pencil){...}
}

class Pen{...}
class Program
{
static void Main(string[] args)
{
Pen pencil=new Pen();
pencil.Writepaper()//就像Pen类中包含Writepaper方法一样,可直接被调用
}
}

注意:

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

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

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

标签: csharp, 刘铁猛C#入门笔记

添加新评论