static函数和普通函数的区别 请问前辈们,static函数和普通函数有什么区别?占用空间、调用性能等等问题!!!谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 纯粹是为了赚分才来的 。static的三种用法 1、隐藏 若变量、函数定义为static,且为全局性时,那么此时变量,函数将不为其他文件的函数访问 2、若局部变量定义为static,则此变量仅初始化一次 3、默认初始化为0 4.static函数没有this指针,其本身是为整个类的对象服务,而不是单个对象。5。分配在堆上。所有对象共享一个代码段。6. 访问非static变量时,只能通过对象来引用。而可以直接访问static变量。7.改变函数的生命周期。普通函数作用完就消失了。8.......给分吧。 静态变量。在内存里是应该只有一份,不管是不是多线程,是不是多用户同时访问,静态变量只占用一份内存。 静态类中不能调用实例构造函数 静态类中不能创建非静态的方法。即静态方法中只能创建静态方法,但在非静态类中可以调用静态方法静态方法属于类所有,类实例化前即可使用。 非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。 因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化 之后才能分配内存,这样,静态方法调用时无法判断非静态变量使用的内存 地址.而静态变量的地址对类来说是固定的。 静态构造函数 用于对静态字段、只读字段等的初始化。 添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。 在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别 如果一个方法与他所在类的实例对象无关,那么它就应该是静态的,而不应该把它写成实例方法。 静态方法和实例化方式的区分是为了解决模式的问题。 http://topic.csdn.net/u/20090616/14/463e94e4-cec7-40be-a099-ed7dd865c8a0.html 在设计模式中 经常是使用到 Static 请参考 <设计模式> 我想把toolStrip1中按钮做大一点,怎么做哟? C#中调用c生成dll问题 ●如何取得一个应用程序里的所有窗体?● Winform中数据库连接出错,请高手指点 人才招聘网/商务网的数据列表是怎么做的? WebBrowser控件,如何去处已经添加的事件? c#+oledb读取excel表中记录,返回记录数有误 在.Net中使用它自带的水晶报表 如何把多个项目添加到源码服务器上的一个解决方案中? 周末,散分 hashtable 中的key 如何用random随机输出 关于数据库的绑定显示问题
static的三种用法 1、隐藏 若变量、函数定义为static,且为全局性时,那么此时变量,函数将不为其他文件的函数访问
2、若局部变量定义为static,则此变量仅初始化一次
3、默认初始化为0
4.static函数没有this指针,其本身是为整个类的对象服务,而不是单个对象。
5。分配在堆上。所有对象共享一个代码段。
6. 访问非static变量时,只能通过对象来引用。而可以直接访问static变量。
7.改变函数的生命周期。普通函数作用完就消失了。
8.......
给分吧。
静态类中不能调用实例构造函数
静态类中不能创建非静态的方法。即静态方法中只能创建静态方法,但在非静态类中可以调用静态方法
静态方法属于类所有,类实例化前即可使用。
非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。
因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化
之后才能分配内存,这样,静态方法调用时无法判断非静态变量使用的内存
地址.而静态变量的地址对类来说是固定的。 静态构造函数
用于对静态字段、只读字段等的初始化。
添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。
在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别
如果一个方法与他所在类的实例对象无关,那么它就应该是静态的,而不应该把它写成实例方法。
静态方法和实例化方式的区分是为了解决模式的问题。
http://topic.csdn.net/u/20090616/14/463e94e4-cec7-40be-a099-ed7dd865c8a0.html
经常是使用到 Static
请参考 <设计模式>