static 类深入了解
来源:互联网 发布:长沙麻将源码 编辑:程序博客网 时间:2024/05/28 23:11
http://www.cnblogs.com/wlb/archive/2009/12/18/1627426.html
Static 是静态的, 故名思义, 就是一个类所固有的,而不是其它类所固有的。 更不是对象的拥有的。所以:Static 方法不用实例化,不能被继承,不能设置为 virtual ,abstract , 更不可能被 override ,也可以说, static 不是那么灵活。 而 非 static 就很灵活。 对象化特征明显, 你可以用 parent.method 调用,也可以用 child.method 调用。 而对于调用者来说, 是调用了适当的方法,其实不是相同的方法 。这很好理解。static 还可能会引起多线程的并发问题,用 lock 解决。当然,基于类固有的特点, 也有static 存在的道理。如:我只用 dbhelper.ExecuteQuery 来执行查询, 而它不能被覆写,不能用子类来访问 。
静态分配的,有两种情况: 1. 用在类里的属性、方法前面,这样的静态属性与方法不需要创建实例就能访问, 通过类名或对象名都能访问它,静态属性、方法只有“一份”:即如果一个类新建有N个 对象,这N 个对象只有同一个静态属性与方法;2. 方法内部的静态变量: 方法内部的静态变量,执行完静态变量值不消失,再次执行此对象的方法时,值仍存在, 它不是在栈中分配的,是在静态区分析的, 这是与局部变量最大的区别;
————————————————————————
这是我的C++笔记,看能不能用。
static用法:
1、修饰函数的局部变量:
特点:有默认值0,只执行一次,运行一开始就开辟了内存,内存放在全局
2、修饰全局函数和全局变量:
特点:只能在本源文件使用
3、修饰类里面的成员变量:
特点:和1差不多,定义多个static y,但只有一个y,不进入类的大小计算,不依赖于类对象的存在而存在(可直接调用,要进行外置声明)
4、修饰类的成员函数:
特点:f():括号里无this指针,只能调用他的本类静态函数和他的静态变量,即是用static修饰过的不依赖于类对象的存在而存在(可不进行外置声明,直接调用
我是个菜鸟, 按我个人理解c#中static关键字应用分为两部分--静态类,静态成员.静态类:静态类不能实例化(不允许有实例构造器),只能包含静态成员,密封的.静态类没有确定的实例化时间,MSDN上讲可以保证在程序中首次引用该类前构造它(调用静态构造器).CLR还提供了适当关键字来改变静态类构造时机.静态类一但构造将惯穿"全局"(程序的整个生存期).静态成员:静态成员归所属类型所有,而不是实例,但任一实例都可共享它.因为它归类型所有,由此它不能访问实例成员.并且访问它只能通过类型名而非实例变量名.和静态类类似的是它也一但构造(指字段成员)将惯穿"全局"(程序的整个生存期).使用:我没有"static惊恐症",相反有些时候我倒觉得基于static的特点它会提高性能.呵, 这么说也很片面(BS一下自己).其实我觉得还是要看具体应用了.就像某某牛人说的"枪在罪犯手里用来犯罪,但在士兵手里确是保卫国家"--好像是这么说的.. 恩恩,记不清了.. 以上仅个人观点,错误之处还望指正..
0 0
- static 类深入了解
- Java static的深入了解
- so库的static 变量深入了解
- 深入了解CString类
- 深入了解Object类
- 深入了解String类
- Java String类深入了解
- Java String类深入了解
- 深入了解类加载器
- 了解Java中的Static
- 深入了解java类加载器
- 深入了解java虚拟机-----类加载器
- 深入了解父类引用指向子类
- 黑马程序员---类的深入了解
- 深入了解ThreadPoolExecutor类的工作原理
- 深入了解父类引用指向子类
- 深入了解java.lang.ThreadLocal类
- 了解Java的类装载器(static什么时候初始化)
- B - Cable master
- Android studio 导入开源项目及导入项目常见问题
- C++ map的基本操作和使用
- 中国互联网技术联盟推出国内首个“互联网+”资讯门户
- SSH三大框架的工作原理及流程
- static 类深入了解
- Head_First设计模式(三)----工厂模式抽象工厂
- IOS 强制去除里面的警告
- stringstream的清空操作,注意clear()的使用
- 完整框架下载地址ssm
- Qt设置全局的widget的stylesheet
- VC中CListCtrl使用技巧(部分转载)
- .net 操作Excel
- 内联与宏