静态构造函数:

C#的一个新特征是也能够给类编写无參数的静态构造函数。

编写静态构造函数的一个原因是,类有一些静态字段或属性,须要在第一次使用类之前。从外部源中初始化这些静态的字段和属性。

.NET运行库没有确保什么时候运行静态构造函数。所以不能把要求在某个特定时刻运行的代码放在静态构造函数中。也不能估计不同类的静态构造函数依照什么顺序运行。

可是能够确保静态构造函数至多运行一次,即在代码引用类之前调用它。

静态构造函数没有訪问修饰符,其它C#代码从来不调用它,但在载入类时,总是由.NET运行库调用它,所以像public或private这种訪问修饰符就没有不论什么意义。

出于同样的原因。静态构造函数不能带不论什么參数,一个类仅仅能有一个静态构造函数。非常显然。静态构造函数仅仅能訪问类的静态成员。不能訪问类的实例成员。

注意。无參数的实例构造函数与静态构造函数能够在一个类中同一时候定义。

虽然參数列表同样,但这并不矛盾。由于在载入类时运行静态构造函数,而在创建实例使运行实例构造函数,所以何时运行哪个构造函数并不冲突。

class BaseClass
{
private static int count;
static BaseClass()
{
count = 0;
console.writeline("aaa");
}
}

静态字段:

使用static修饰 属于类,不属于某个实例。

与实例字段一样。能够在声明的同一时候进行初始化。

与实例字段不同,假设没有对静态字段进行初始化,静态字段将自己主动获取默认值(0。null,false等)。

所以,一个静态字段即使没有被显示地赋值,也能够被訪问。

訪问须要使用 类名.静态字段名,不能使用 对象名.静态字段名

静态方法:

使用static修饰。直接使用 类名.方法名

静态方法的函数体内不能直接使用非静态成员,也没有this.

静态类:

假设类仅仅包括静态的方法和属性。该类就是静态类。静态类在功能上与使用私有静态构造函数创建的类同样。不能创建静态类的实例。

静态类是不能实例化的。我们直接使用它的属性与方法,静态类最大的特点就是共享。

public static class StaticTestClass
{
public static int n = 0; public static void Add()
{
n++;
}
}

最新文章

  1. ActionContext.getContext().getSession()
  2. UVA - 11584 Partitioning by Palindromes[序列DP]
  3. js去掉html标签和去掉字符串文本的所有的空格
  4. 从Wep page到Application
  5. PureBasic—数控编辑框与调节块和进度条
  6. 2014江西理工大学C语言程序竞赛初级组
  7. android 三目运算符 运用错误
  8. yield关键字的用法
  9. Rest中的XML与JSON的序列化与反序列化
  10. iOS 开发学习35 本地化
  11. MyBatis动态SQL与模糊查询
  12. python之Number
  13. iPad Pro 10.5+Apple Pencil之专注文献阅读与笔记效率的App综述
  14. OpenCV——照亮边缘
  15. 新手尝试Android studio连接mumu调试程序
  16. Nginx 优先选择连接最少的上游服务器
  17. FFT 快速傅里叶变换 学习笔记
  18. MongoDB数据库中查询数据(下)
  19. Vue vue.extend 和vue.component 两则之间的区别
  20. 高阶函数map(),filter(),reduce()

热门文章

  1. angular反向代理
  2. RMAN异机复制数据库(不同路径)
  3. 编程一一C语言的问题,cpu中的专用寄存器
  4. CSS笔记 - fgm练习 2-9 - 播放列表收缩展开
  5. VMware Ubuntu安装详细过程(详细图解)
  6. Loadrunner--集合点
  7. 微信小程序常见的UI框架/组件库总结
  8. asp.net获取客户真实ip非代理ip:
  9. netty reactor线程模型分析
  10. vue2.0 踩坑记录之组件