静态构造函数:

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#中的“静态”的更多相关文章

  1. 在linux中设置静态ip地址

    在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...

  2. C++中关于[]静态数组和new分配的动态数组的区别分析

    这篇文章主要介绍了C++中关于[]静态数组和new分配的动态数组的区别分析,很重要的概念,需要的朋友可以参考下 本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加 ...

  3. C#基础——全局静态类中的静态类变量的设置

    前言 今天在设计一个系统用户管理界面的时候,出现了一个问题: 由于要在不同窗体之间传递数据,所以想到了要设置全局变量,比如一个用户有属性,ID,UserName,UserPwd和UserPower,为 ...

  4. NodeJS中的静态资源管理服务

    欢迎大家指导与讨论 : ) 一.什么是静态资源 静态资源就是放在服务器中的特定的文件.比较常见的有.css,.png, .js的这一些后缀的文件.下图中的这个html页面便要获取到logo.png和a ...

  5. php面向对象中static静态属性和静态方法的调用

    这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例讲述了php中static静态属性和静态 ...

  6. 霸气!Nginx 中缓存静态文件秘籍

    导读 这篇教程说明你应该怎样配置 nginx.设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片. CSS 和 Javascript 文件)设 ...

  7. Ubuntu中设置静态IP和DNS

    在Ubuntu中设置静态IP共两步:1>设置IP:2>设置DNS1>设置IP    编辑 /etc/network/interface文件:       sudo vi /etc/n ...

  8. nodejs之获取客户端真实的ip地址+动态页面中引用静态路径下的文件及图片等内容

    1.nodejs获取客户端真实的IP地址: 在一般的管理网站中,尝尝会需要将用户的一些操作记录下来,并记住是哪个用户进行操作的,这时需要用户的ip地址,但是往往当这些应用部署在服务器上后,都使用了ng ...

  9. 在Linux中创建静态库.a和动态库.so

    转自:http://www.cnblogs.com/laojie4321/archive/2012/03/28/2421056.html 在Linux中创建静态库.a和动态库.so 我们通常把一些公用 ...

  10. Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

    上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...

随机推荐

  1. tomcat的一些简单配置

    一.管理tomcatusernamepassword conf文件夹下,tomcat-users.xml <span style="font-size:24px;">& ...

  2. PHP版本 D-Link 动态域名客户端

    <?php /* * D-Link 动态域名客户端.主域名www.dlinkddns.com 和 www.dlinkddns.com.cn * 首先获取外网IP,若IP没有变化,则结束运行:否则 ...

  3. string-format样式使用

    首先我们看如下代码 protected String calcu1() { StringBuffer resultB = new StringBuffer(); String str = null; ...

  4. 编码与乱码(05)---GBK与UTF-8之间的转换--转载

    原文地址:http://www.blogjava.net/pengpenglin/archive/2010/02/22/313669.html [GBK转UTF-8] 在很多论坛.网上经常有网友问“  ...

  5. 防止登录页面出如今frame中

    在使用frame页面嵌套开发的时候,遇到重新启动了server的时候会出现登录页面在frame页面中出现, 所以须要在登录页面里面用js推断下当前的地址信息,然后跳转到登录的单独页面中. js代码例如 ...

  6. iOS 中使用 XIB 自定义cell的两种方法以及编译出现常见 的错误 (xcode6.0之后)

    一. 注册cell 1.创建自定义cell并勾选 xib :(勾选xib就会自动生成与cell文件关联的xib) 2.在 tableViewController里注册自定义Cell (或者遵守tabl ...

  7. node event中 on emit off 的封装

    事件绑定一个事件名称对应多个事件函数 应此它们的关系是一对多的关系 数据类型采用对象的形式 key:val 因为函数有多个 所以val选用数组 事件仓库 eventList = { key:val, ...

  8. Day1:If else流程判断

    一.if...else语句 if 条件成立: 执行条件成立后的代码 else: 执行条件不成立的代码 注:注意有冒号,python会强制缩进!一般语句都必须顶格写,缩进是缩进一个tab键,等于4个空格 ...

  9. 【Codeforces Round #443 (Div. 2) A】Borya's Diagnosis

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟 [代码] #include <bits/stdc++.h> using namespace std; const ...

  10. Android JAVA如何判断两天在同一周内

    /** * <pre> * 判断date和当前日期是否在同一周内 * 注: * Calendar类提供了一个获取日期在所属年份中是第几周的方法,对于上一年末的某一天 * 和新年初的某一天在 ...