我定义了一个类,类中主要是get方法,即通过给该方法传递参数获取返回值,返回值的类型主要包括基本数据类型和集合类型,类中几乎没有成员变量,我认为这个类中的方法都应该定义成static方法,在调用方法时直接用类名.方法名就可以了,没有必要在调用方法时再生成类的实例,然后用实例调用方法吧?大家怎么认为呢?    另外,我是一个新手,麻烦各位高手帮我总结一下,什么情况下应该定义静态方法和静态变量?即哪种情况下定义的变量和方法应该是静态的?    我以前一直认为应该尽量少用静态变量和静态方法,因为它们的生命周期与类同步,比较长,而普通的对象变量和对象方法的生命周期只限于对象,现在我感觉我的理解有些问题,各位高手能否给些经验?渴求......

解决方案 »

  1.   

    静态即在变量和方法前标记上static修饰符
    如果一个变量属于类,而不属于任何独立的对象时就用静态变量
    例如:
    class Employee
    {
      . . .
      private static int number = 1;
    }
    用变量number定义员工的总人数.如果一个方法是一个不用向对象实施操作的方法时就用静态方法.
    例如:
    Math中的pow()方法,不用创建对象,直接使用Math.pow(a,b)即可.
      

  2.   

    对于你所说的那个类,里面确实应该用 static方法,因为你这个类似乎只是个工具类。
      

  3.   

    恩,工具类的话用静态方法调用起来比较方便
    比如最常用的 System.out.println 应该就是个静态方法。关于静态属性的话,就是所有申明了静态属性的类的对象都共用一个属性,用来做计数器之类的不错:)
      

  4.   

    比如一个飞机游戏的子弹类,该类有个成员变量是代表子弹的图片,这个变量就该是静态的,否者你想飞机发出的子弹如果都是new出来的对象里包含的,那该多耗费内存
      

  5.   

    System.out.println()是个静态方法吗?我觉得好像不是,println()方法是PrintStream类的一个实例方法,out是System的一个静态字段,这个静态字段指向一个已经打开的输出流。这是我的理解,请大家提意见。