请问前辈们,static函数和普通函数有什么区别?占用空间、调用性能等等问题!!!
谢谢!!

解决方案 »

  1.   

    纯粹是为了赚分才来的 。
    static的三种用法 1、隐藏 若变量、函数定义为static,且为全局性时,那么此时变量,函数将不为其他文件的函数访问 
    2、若局部变量定义为static,则此变量仅初始化一次 
    3、默认初始化为0 
    4.static函数没有this指针,其本身是为整个类的对象服务,而不是单个对象。
    5。分配在堆上。所有对象共享一个代码段。
    6. 访问非static变量时,只能通过对象来引用。而可以直接访问static变量。
    7.改变函数的生命周期。普通函数作用完就消失了。
    8.......
    给分吧。
      

  2.   

    静态变量。在内存里是应该只有一份,不管是不是多线程,是不是多用户同时访问,静态变量只占用一份内存。 
    静态类中不能调用实例构造函数 
    静态类中不能创建非静态的方法。即静态方法中只能创建静态方法,但在非静态类中可以调用静态方法
    静态方法属于类所有,类实例化前即可使用。 
    非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。 
    因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化 
    之后才能分配内存,这样,静态方法调用时无法判断非静态变量使用的内存 
    地址.而静态变量的地址对类来说是固定的。 静态构造函数 
    用于对静态字段、只读字段等的初始化。 
    添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。   
    在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别 
    如果一个方法与他所在类的实例对象无关,那么它就应该是静态的,而不应该把它写成实例方法。 
    静态方法和实例化方式的区分是为了解决模式的问题。 
    http://topic.csdn.net/u/20090616/14/463e94e4-cec7-40be-a099-ed7dd865c8a0.html
      

  3.   

    在设计模式中  
    经常是使用到 Static 
    请参考 <设计模式>