C#中的“静态”
静态构造函数:
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++;
}
}
C#中的“静态”的更多相关文章
- 在linux中设置静态ip地址
在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...
- C++中关于[]静态数组和new分配的动态数组的区别分析
这篇文章主要介绍了C++中关于[]静态数组和new分配的动态数组的区别分析,很重要的概念,需要的朋友可以参考下 本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加 ...
- C#基础——全局静态类中的静态类变量的设置
前言 今天在设计一个系统用户管理界面的时候,出现了一个问题: 由于要在不同窗体之间传递数据,所以想到了要设置全局变量,比如一个用户有属性,ID,UserName,UserPwd和UserPower,为 ...
- NodeJS中的静态资源管理服务
欢迎大家指导与讨论 : ) 一.什么是静态资源 静态资源就是放在服务器中的特定的文件.比较常见的有.css,.png, .js的这一些后缀的文件.下图中的这个html页面便要获取到logo.png和a ...
- php面向对象中static静态属性和静态方法的调用
这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例讲述了php中static静态属性和静态 ...
- 霸气!Nginx 中缓存静态文件秘籍
导读 这篇教程说明你应该怎样配置 nginx.设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片. CSS 和 Javascript 文件)设 ...
- Ubuntu中设置静态IP和DNS
在Ubuntu中设置静态IP共两步:1>设置IP:2>设置DNS1>设置IP 编辑 /etc/network/interface文件: sudo vi /etc/n ...
- nodejs之获取客户端真实的ip地址+动态页面中引用静态路径下的文件及图片等内容
1.nodejs获取客户端真实的IP地址: 在一般的管理网站中,尝尝会需要将用户的一些操作记录下来,并记住是哪个用户进行操作的,这时需要用户的ip地址,但是往往当这些应用部署在服务器上后,都使用了ng ...
- 在Linux中创建静态库.a和动态库.so
转自:http://www.cnblogs.com/laojie4321/archive/2012/03/28/2421056.html 在Linux中创建静态库.a和动态库.so 我们通常把一些公用 ...
- Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结
上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...
随机推荐
- eclipse4.3怎么集成jadclipse追踪源代码,现在windows-preferences-java
A.将net.sf.jadclipse_3.2.4.jar复制到D:\leaf\eclipse\plugins目录下. B.在d:\leaf下建立ecliplsePlungin\jadclips ...
- 妙味css3课程---1-1、css中自定义属性可以用属性选择器么
妙味css3课程---1-1.css中自定义属性可以用属性选择器么 一.总结 一句话总结:可以的. 1.如何实现用属性选择器实现a标签根据href里面含有的字段选择背景图片? p a[href*=te ...
- JS截取字符串 charAt(),slice(),substring(),substr()
1. charAt(i)输出指定下标的字母,长度为1,适用于把字符串切割成单个字符串. 2. slice() 和 substring() 都支持1-2个参数,第一个参数是开始位置,第二个参数是结束位置 ...
- 使用jmeter监控服务器性能指标
先下载jmeter-ServerAgent Windows下载和Linux下载 https://jmeter-plugins.org/wiki/PerfMon/ 找到ServerAgent的下载链接 ...
- oled模块的驱动芯片和pcb图
参考自:http://blog.sina.com.cn/s/blog_57ad1bd20102wtq8.html oled的驱动芯片是:SSD1306驱动芯片,这个芯片嵌入在屏幕里面,从外面看不出来, ...
- DC中为什么要用Uniquify?
转自:http://blog.sina.com.cn/s/blog_68c493870101exl7.html 为了在layout中进行时钟树的综合,网表在DC中必须被uniquified.所谓uni ...
- jquery weui日期选择控件添加取消按钮
如图: 上图是jQuery weui的时间选择控件,红框处本来应该有个“取消”按钮的,可惜偏偏没有,当用户不想选择的时候就不好处理,虽然插件提供了点击其他区域关闭的功能,但过于隐晦,不容易发现,因此本 ...
- UVA 10943 - How do you add? 递推
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- YASM User Manual
This document is the user manual for the Yasm assembler. It is intended as both an introduction and ...
- CYPRESS USB芯片win10驱动
The ZIP file attached with this knowledge base article contains the CyUSB3.inf and CyUSB3.sys files ...