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
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
- C#静态字段和静态方法
- C#静态字段和静态方法
- 静态字段、静态属性和静态方法
- 静态类、静态字段和静态方法
- C# 静态类、静态构造器、静态方法、静态字段
- c# 类 ,静态类 , 静态字段, 静态方法
- 静态字段、静态方法
- 静态方法静态字段
- C#静态字段与非静态字段(静态方法与非静态方法与之类似)
- C#静态方法和非静态方法
- c#静态方法和非静态方法
- C#静态方法和非静态方法
- java和C#中静态字段和静态方法的使用异同
- C#之静态成员和静态方法
- Python 类的静态字段和静态方法
- C# 关键字“this”在静态属性、静态方法或静态字段初始值设定项中无效
- c#静态方法和非静态方法区别
- C#中静态方法和非静态方法的区别
- C++ 求排列函数 next_permutation, prev_permutation
- Intellij快捷键
- 指定Action,Category调用系统Activity
- CUDA Toolkit 各版本文档
- 动态显示当前系统时间和移除定时器
- C#静态字段和静态方法
- 指针练习 1002 将数组a中的n个整数按相反顺序存放
- 学习笔记(十二)—设计模式(续)
- JSON
- hdu 5908 Abelian Period 模拟
- Machine Learning--隐马尔科夫(HMM)讲解
- 欢迎使用CSDN-markdown编辑器
- Bestcoder Round #88 problem.B Abelian Period
- Python学习:时间处理工具--dateutil两个简单用法