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

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

  从上图可以看出来我们是直接使用类的名字调用这些变量和方法。静态方法不依赖的实例,不能访问类的任何实例字段或者实例方法,相反,只能方位标记位static的其它方法和字段。

静态字段能够咋类的所有对象之间共享,非静态字段则局部与类的实例。

使用const关键字创建静态字段:

  用const关键字声明的字段称为常亮字段,是一种特殊的静态字段,它是永远不能改变的。关键字const是constant常量的简称,const字段虽然也是静态字段,但是不用static关键字,只有数字类型、字符串类型和枚举类型的字段才能声明为const字段。例如Math类中的PI就被声明成了Const字段。

静态类:

  c#允许声明静态类,静态类只能包含静态成员静态类纯粹作为工具方法和字段的容器使用。静态类不能包含任何实例数据和方法。使用new操作符对创建静态类的对象没有意义,编译器也会报错。为了执行初始化,静态类允许包含一个默认的构造器,前提是该构造器也被声明为静态。

匿名类:

  匿名类就是没有名字的类,创建匿名类的方法是以new关键字开头,后面跟一对{},然后再大括号中定义想在类中包含的字段和值。定义匿名类时只有编译器知道它的名字。匿名类虽然有时候好用,但内容存在着相当多的限制。例如、匿名类只能包含公共字段,字段必须全部初始化,不可以是静态,而且不能定义任何方法。

c# 静态方法和数据的更多相关文章

  1. 转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试

    JUnit 是被广泛应用的 Java 单元测试框架,但是它没有很好的提供参数化测试的支持,很多测试人员不得不把测试数据写在程序里或者通过其它方法实现数据与代码的分离,在后续的修改和维护上有诸多限制和不 ...

  2. (转)python3:类方法,静态方法和实例方法以及应用场景

    原文:https://blog.csdn.net/qq_34979346/article/details/83212716 1.实例方法在编程里经常用的是实例方法,直接用实例去调用, 只要 方法里有s ...

  3. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  4. MVC5 网站开发之四 业务逻辑层的架构和基本功能

    业务逻辑层在Ninesky.Core中实现,主要功能封装一些方法通过调用数据存储层,向界面层提供服务.   目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 ...

  5. 摆脱DOM操作,从TodoMVC看angularJS

    取代jQuery? 我很久之前便听说了angularJS的大名,之前的leader也经常感叹angularJS的设计如何如何精妙,可叹一直没有机会深入了解,国庆长假因为没钱出游,倒是可以对他做一个了解 ...

  6. iOS-网络基础

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  7. tp5 中 model 的更新方法

    // 过滤非数据表字段更新 public function update(Request $request){ $user = model('User'); $result = $user -> ...

  8. 瘋耔java语言笔记

    一◐ java概述                                                                                        1.1 ...

  9. JAVA语言学习笔记(一)

    1 一切都是对象 JAVA中所有代码都必须写在类里面. 方法名和参数列表(它们合起来被称为"方法签名")唯一地标识出某个方法.联想多态. 基本数据类型的"局部变量&quo ...

随机推荐

  1. Loadrunner回放脚本时报错Action.c(41): Error -27979: Requested form not found [MsgId: MERR-27979]

    解决方法 打开录制选项配置对话框进行设置,在“Recording Options”的“Internet Protocol”选项里的“Recording”中选择“Recording Level”为“HT ...

  2. kvo观察实例变量

    // 手动设定KVO - (void)setAge:(NSString *)age { [self willChangeValueForKey:@"age"]; _age = ag ...

  3. 【剑指offer】两个链表的第一个公共结点

    一.题目: 输入两个链表,找出它们的第一个公共结点. 二.思路: 思路一:模拟数组,进行两次遍历,时间复杂度O(n2) 思路二:假定 List1长度: a+n  List2 长度:b+n, 且 a&l ...

  4. sap 对dynamic query parameters 设置条件。

  5. 【Linux】-NO.8.Linux.4.Command.1.001-【Common Command】-

    1.0.0 Summary Tittle:[Linux]-NO.8.Linux.4.Command.1.001-[Common Command]- Style:Linux Series:Command ...

  6. koa2的文件上传

    使用koa2搭建文件上传服务,后端代码 const os = require('os'); const path = require('path'); const koaBody = require( ...

  7. CentOS6.5安装Scrapy

    1.安装命令超级简单: [root@mycentos ~]# pip install Scrapy 建立软链接: [root@mycentos ~]# ln -s /usr/local/python3 ...

  8. 用log4net记录日志信息

    在.net中用log4net记录日志信息,已经是很平常的事情了. log4net下载:http://logging.apache.org/log4net/download_log4net.cgi 百度 ...

  9. caffe配置文件

    一.数据层及参数 要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe. ...

  10. Git常用的命令

    常用 Git 命令清单   作者: 阮一峰 日期: 2015年12月 9日 原文地址:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.ht ...