C#静态字段和静态方法

来源:互联网 发布:多益网络在线笔试 编辑:程序博客网 时间:2024/05/21 11:08
1、使用关键字 static 修饰的字段或方法成为静态字段和静态方法,如 public static int num = 1;
2、静态字段属于类,并为类所用。而非静态字段属于对象,只能被特定的对象专有。
3、C#严格规定非静态字段只能通过对象来访问,静态字段只能通过类来访问。
4、在跟类的实例无关,只跟类有关的情况下使用静态成员(如Math类的数学计算方法等不需要创建多个实例)
5、使用静态成员可以避免创建对象时引入一次对象的构造和一次对象的析构
6、C#静态方法及属性在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是 没有人再访问程序,这部分内存仍然不会释放还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然是A用户设置的那个。
7、注意,Connection连接对象不可使用static,静态化导致大量并发使用相同连接池,而连接池是有个数限制的,会导致数据库连接池达到最大值而不能继续访问网站。
8、附例如下:

public class MyObject
{
    public int x;
    public static int y;

    public int add_x()
    {
        x++;
        return x;
    }
    public static int add_y()
    {
        y++;
        return y;
    }
}

MyObject mo1= new MyObject();
MyObject mo2 = newMyObject();

mo.add_x();   //结果为1
mo.add_x();   //结果为1

mo.add_y();    //结果为1
mo.add_y();    //结果为2

0 0
原创粉丝点击