c# 静态方法和数据
c#所有方法都必须在类的内部声明,但如果把方法或者字段声明为static就可以使用,类名代用方法或者访问字段。

在方法中声明一个静态变量a 和一个静态的aFun方法。下面是在主函数中调用。

从上图可以看出来我们是直接使用类的名字调用这些变量和方法。静态方法不依赖的实例,不能访问类的任何实例字段或者实例方法,相反,只能方位标记位static的其它方法和字段。
静态字段能够咋类的所有对象之间共享,非静态字段则局部与类的实例。
使用const关键字创建静态字段:
用const关键字声明的字段称为常亮字段,是一种特殊的静态字段,它是永远不能改变的。关键字const是constant常量的简称,const字段虽然也是静态字段,但是不用static关键字,只有数字类型、字符串类型和枚举类型的字段才能声明为const字段。例如Math类中的PI就被声明成了Const字段。

静态类:
c#允许声明静态类,静态类只能包含静态成员静态类纯粹作为工具方法和字段的容器使用。静态类不能包含任何实例数据和方法。使用new操作符对创建静态类的对象没有意义,编译器也会报错。为了执行初始化,静态类允许包含一个默认的构造器,前提是该构造器也被声明为静态。
匿名类:
匿名类就是没有名字的类,创建匿名类的方法是以new关键字开头,后面跟一对{},然后再大括号中定义想在类中包含的字段和值。定义匿名类时只有编译器知道它的名字。匿名类虽然有时候好用,但内容存在着相当多的限制。例如、匿名类只能包含公共字段,字段必须全部初始化,不可以是静态,而且不能定义任何方法。
c# 静态方法和数据的更多相关文章
- 转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试
JUnit 是被广泛应用的 Java 单元测试框架,但是它没有很好的提供参数化测试的支持,很多测试人员不得不把测试数据写在程序里或者通过其它方法实现数据与代码的分离,在后续的修改和维护上有诸多限制和不 ...
- (转)python3:类方法,静态方法和实例方法以及应用场景
原文:https://blog.csdn.net/qq_34979346/article/details/83212716 1.实例方法在编程里经常用的是实例方法,直接用实例去调用, 只要 方法里有s ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- MVC5 网站开发之四 业务逻辑层的架构和基本功能
业务逻辑层在Ninesky.Core中实现,主要功能封装一些方法通过调用数据存储层,向界面层提供服务. 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 ...
- 摆脱DOM操作,从TodoMVC看angularJS
取代jQuery? 我很久之前便听说了angularJS的大名,之前的leader也经常感叹angularJS的设计如何如何精妙,可叹一直没有机会深入了解,国庆长假因为没钱出游,倒是可以对他做一个了解 ...
- iOS-网络基础
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- tp5 中 model 的更新方法
// 过滤非数据表字段更新 public function update(Request $request){ $user = model('User'); $result = $user -> ...
- 瘋耔java语言笔记
一◐ java概述 1.1 ...
- JAVA语言学习笔记(一)
1 一切都是对象 JAVA中所有代码都必须写在类里面. 方法名和参数列表(它们合起来被称为"方法签名")唯一地标识出某个方法.联想多态. 基本数据类型的"局部变量&quo ...
随机推荐
- kvo观察实例变量
// 手动设定KVO - (void)setAge:(NSString *)age { [self willChangeValueForKey:@"age"]; _age = ag ...
- docker+redis安装与配置,主从+哨兵模式
docker+redis安装与配置 docker安装redis并且使用redis挂载的配置启动 1.拉取镜像 docker pull redis:3.2 2.准备准备挂载的目录和配置文件 首先在/do ...
- 20171123初学demo爬去网页资料
一.工具vs2015 +python3.5 import urllib.request import urllib.error import re def getcontent(url,page): ...
- MySQL中drop,delete与truncate的区别
drop直接删掉表 truncate删除表中数据,再插入时自增长id又从1开始 delete删除表中数据,可以加where字句. (1) DELETE语句执行删除的过程是每次从表中删除一行,并且同时将 ...
- 同一局域网运行两套LVS
两套LVS的ID必须不一致 ,原文: http://blog.chinaunix.net/uid-29578485-id-5671910.html 在LVS服务器中修改配置文件 vi /etc/ke ...
- 【剑指offer】复杂链表的复制
一.题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用, ...
- python中的0,None,False,空容器
在Python中,None.空列表[].空字典{}.空元组().0等一系列代表空和无的对象会被转换成False.除此之外的其它对象都会被转化成True. 1.0等于False,这点要注意. 2.空的l ...
- window下git的下载
window下git的下载window下git的下载window下git的下载window下git的下载 https://git-scm.com/download/win https://git-sc ...
- 利用 PorterDuff 动态改变资源色值,缩减安装包大小
利用 PorterDuff 改变资源原有色值,从而实现只需要一个资源文件,就可以表示几种不同的状态,如在线或者离线等等 public Drawable colorDrawable(Resources ...
- Fiddler 手机抓包设置
IOS 为例 1. Fiddler -> Tools -> Options ->Connection 2. 手机 Settings -> WIFI ->设置当前连接的网络 ...