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 ...
随机推荐
- android 仿ios 对话框已封装成工具类
对话框 在android中是一种非经常见的交互提示用户的方式,可是非常多产品狗都叫我们这些做android的仿ios,搞的我们android程序猿非常苦逼,凭什么效果老是仿ios,有没有一点情怀,只是 ...
- [Javascript AST] 3. Continue: Write ESLint rule
The rule we want to write is show warning if user using console method: // valid foo.console() conso ...
- android对话框(Dialog)的使用方法
Activities提供了一种方便管理的创建.保存.回复的对话框机制.比如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...
- 全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL
全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL http://blog.s135.com/startssl/ 购买权威机构的证书一年大概得七八千元,其实这是不值得的,所以一直 ...
- JS实现拖拽小案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 修饰器&高阶组件
一.修饰器 1.类的修饰 修饰器是一个函数,用来修改类的行为 function testable(target) { target.isTestable = true; } @testable cla ...
- Python数据结构同Json类型数据相互转换的用法
在做Python接口自动化的时候,经常要用到Python数据结构同Json类型数据相互转换来供我们做进一步的验证提供数据,在此做个记录和总结 Python数据结构同Json类型数据相互转换的函数有:j ...
- 00089_字节输出流OutputStream
1.字节输出流OutputStream (1)OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节,定义了输出字节流的基本共性功能方法: (2)输出流中定义都是写wri ...
- 【Codeforces Round #301 (Div. 2) C】 Ice Cave
[链接] 我是链接,点我呀:) [题意] 给你一个n*m的地图. 每个地图为0的时候可以安全走过,且走过后变成1. (一定要离开之后才会变成1) 而为1的则走过之后会掉入下一层. 你一开始在初始位置( ...
- 【LCS】POJ1458Common Subsequence
题目链接:http://poj.org/problem?id=1458 这是一道最长公共子序列的模板题: #include<iostream> #include<string> ...