一个程序里是不是不应该出现过多的static变量呀?请解答一下??

解决方案 »

  1.   

    面向对象本质上是不怎么推荐用static。但实际上要看你类是怎么设计的,是用来做什么的,这个没有标准。
      

  2.   

    一般来说太多总是不好,但也要看情况假如有很多的常量的确需要static,那也无可厚非但假如你的static常常是被迫添加的,比如由于一个method或field是static了,而导致新的method或field也必须是static,如此恶性循环下去的时候,说明设计有问题了
      

  3.   

    static的方法,因为是单例的,所以自然有他的好处,以一个大系统为例,你不可能每一次都加载所有的数据,所以这里可以使用static代码块来一次加载所有,这样可以减轻服务器的负担
      

  4.   

    静态变量和静态初始化块是在类加载时就已经在内存中初始化了,所以可以用这一特性不用显示的初始化一些变量或进行一些操作。比如说加载jdbc驱动时,我们不用new实现了java.sql.Driver接口的类,我们只是加载相应实现了该接口的类,在该类中注册了驱动程序类的一个实例,用DriverMangaer驱动程序管理类的registerDriver()方法注册实例,而不需要我们亲自去调用这个方法,在静态代码块就包含了这些操作,但我们调用ClassforName时就已经执行了
      

  5.   

    看实际情况需求。
    像jpc这个开源系统里,能static的尽量static,为了性能。