C#: static关键字的作用(转)
C#: static关键字的作用
static意思是静态,可以修饰类、字段、属性、方法
标记为static的就不用创建实例对象调用了,可以通过类名直接点出来
static三种用法:
1.用于变量前,表示每次重新使用该变量所在方法、类或自定义类时,变量的值为程序这次运行最后一次为变量赋值时的值,这个方法称为静态函数:
private void s()
{
static int a=1;
a++;
}
方法第一次调用结束后a在内存内值为2;
方法第一次调用结束后a在内存内值为3;
2.在方法(函数)前用static修饰,表示此方法为所在类或所在自定义类所有,而不是这个类的实例所有,这个方法称为静态方法:
情况一:非静态方法:
class t
{
t(....(参数,下面同))
{
~~~~(方法内容,下面同)
}
void s(....)
{
~~~~
}
}
当你在其他方法里调用这个类中的方法s,则需先声明这个类的变量如:t sd = new t(....);
再在t里调用方法:sd.s(....);
情况2:静态方法:
class t
{
t(....(参数,下面同))
{
~~~~(方法内容,下面同)
}
static void s(....)
{
~~~~
}
}
当你在其他方法里调用这个类中的方法s,则不用先声明这个类的变量如直接调用方法:t.s(....);
3.用于class前,说明此类型无法新建实例,简单点说这个类型的方法全是静态方法,这个类里的非静态方法是不能使用的,这个类型称为静态类.
比如C#控制台操作的Cancle类里面的成员就被标记为静态的,可以直接用Concle.直接点出来使用。
如果没有标记为静态就要通过创建实例对象来调用,比如说动态字符串StringBuilder就要new一个实例来调用
StringBuilder sb =new StringBuilder();
sb.xxx(); //xxx是方法名
static class t
{
~~~~
}
~~~~
class d
{
~~~~
void f(....)
{
~~~~
t v = new t();//此时程序会出现错误
}
}
最新文章
- 原生态js获取节点的方法
- SVM之SMO最小序列
- poj 3233 矩阵快速幂+YY
- Struts 1.3(第一例) - Login
- js隐藏
- Apache Commons IO 2.3 几点用法
- Swift - 24 - switch语句的高级用法
- 开源Math.NET基础数学类库使用(01)综合介绍
- rollout
- Password
- MySQL优化之推荐使用规范
- JVM基础系列第7讲:JVM 类加载机制
- 爬虫3 requests基础之下载图片用content(二进制内容)
- git从已有分支拉新分支开发
- DevExpress学习笔记之如何获取Repository Item的值
- 非常简单的方法实现ViewPager自动循环轮播
- 利用crontab定时备份nginx访问日志(也可以说是定时切分日志)
- react实现全选、取消全选和个别选择
- sql的嵌套查询,把一次查询的结果做为表继续进一步查询;内联视图
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化
热门文章
- C标准库中atoi的一种可能的实现
- 新产品为了效果,做的比較炫,用了非常多的图片和JS,所曾经端的性能是非常大的问题,分篇记录前端性能优化的一些小经验。
- 20170228 Z_po_send_email
- oracle中的exists和not exists和in用法详解
- ASHX入门教程
- 使用Windows Debugger调试托管代码----引用自官方帮助文档
- Opencv:10个步骤检测出图片中条形码
- MyBatis学习 之 六、insert操作返回主键
- AJAX路径问题
- Watir: Win32ole对于excel某些指令无法操作的时候有如下解决方案