用static的修饰的变量和方法,实际上是指定了这些变量和方法在内存中的“固定位置”而static的“局限“,
            1.定义时必须进行初始化
            2.仅能够调用其他的static方法和static变量
            3.在static方法中不能以任何方式引用this或super下面这句话要记住 :static的东西在编译时,就已向内存要到了存取空间

解决方案 »

  1.   

    对,像shaot399() 说的。
    static在类一加载就分配了内存。太多了自然需要有效率问题。
      

  2.   

    如果滥用Static的话肯定不好,因为既然是static,他是最先被加载的,这样一开始就要消耗很大的内存。如果运用合理的话,还是蛮方便的。比如工厂方法。
      

  3.   

    static
    这么神奇的关键词
    竟然被你们说得一文不值
    服务器端有Session
    可是客户端Session怎么实现?
    呵呵,那就是static
      

  4.   

    声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
    声明为static的方法有以下几条限制: 
    它们仅能调用其他的static 方法。 
    它们只能访问static数据。 
    它们不能以任何方式引用this 或super。 
    如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。
      

  5.   

    个人认为,static 变量和方法没有需要的时候尽量少用,毕竟占用资源
      

  6.   

    为了 节约内存资源了.少用STATIC变量.
    其他的变量也要占资源.但是不会像static变量那样一直占着/
      

  7.   

    在网上找了好久也没有找到一篇关于static变量的论证性文章/
      

  8.   

    我觉得用static没什么不好的,至于static变量占用内存资源,我不这样认为。
    定义static变量时,一直占用资源的只是一个引用而已,不是这个引用指向的实例。
    相信大部分人在out of memory 时不会是由static变量引起的。
    在jdk的api里都有着大量的static的方法,我们为什么不能用?
      

  9.   

    个人据的,static的一个标志行的误用就是作为全局变量使用。如楼上所说的,在客户端保持类似与Session的内容是可以使用static类型的变量,
    这只是为了方便,对系统来说,不过这个内容是否存储,都占有一定的内存。不如,将一个主实例中加入一些实例来通过方法设置更好。以上仅限个人观点。
      

  10.   

    static你如果能完全控制就可以用,如果不行就尽量不要用。所谓完全控制就是你对static的理解比较深!
      

  11.   

    用吧,没有那么严重,微软的petshop4项目整个DAL层(增删改查那层)都是static
      

  12.   

    在java当中static只不过是变量的生存期罢了,并且是放在堆空间上面的,不是thread safe的。
      

  13.   

    static用好了,能方便很多处理的。
      

  14.   

    顶~我也有这个疑问,经常在写代码的时候不想用static害怕对系统造成负担,包括static方法.也许要大量重复使用的代码应该用static吧.
      

  15.   

    我在写代码时一些基本固定不变的基础数据结构一直用static修饰,
    当系统退出时自动将这些变量指向的引用赋null,
    个人感觉除了系统运行得更快外,没发现什么其他的不正常现象。
      

  16.   

    我个人认为static还是很不错的,而且线程安全,我们现在开发中经常用到,因为很多东西一开始就得初始化,而且不会被改变了!!刚开始那一点开消不能算是什么