JAVA类中的static的方法可以在类外直接被调用,所以我认为可以把一些全局性的方法声明为static,这样不需要生成该类的对象就可以调用了。

解决方案 »

  1.   

    static方法不能在子类中override,所以也不能有多态,这是最大的缺点。也就是说,如果你实现了一个static方法,如果下次想换一种实现方式,好了恭喜你,你必须修改原来的代码,甚至要改变原来的接口提供另一个static方法,然后重新编译所有使用这个class的其他class——这些class很可能已经发布到世界的另一端去了。所以,尽量不要用static方法。除非你可以100%确定这个方法的实现方式永远不会改变。如果你认真思考,我相信“永远不会改变”的情况比你猜测的要少得多。
      

  2.   

    staic 方法称为类方法,static 字段称为类字段,可以把一些通用性的方法声明为static ,但建议把字段申明成非static类型,以免这些字段受到破坏,可以为非static 字段提供set和get方法来访问.
      

  3.   

    to Schlemiel(维特根斯坦的扇子)学习:)
      

  4.   

    回复人: leonlux(堂郎)--(你可以把一些关系整个类的函数作为静态方法)嗯,这个是很重要的。
      

  5.   

    看看这个例子:
    class Man{
    public static int sum=0;
    public String name;
    public Man(String name){
    this.name=name;
    sum++;
    }
    }
    public class Test{
    public static void man(String arg[]){
    System.out.println("现有员工:"+Man.sum+"人");
    Man a1=new Man("a1");
    Man a2=new Man("a2");
    System.out.println("现有员工:"+Man.sum+"人");
    }
    }
      

  6.   

    更具具体情况而定!楼上的Man a1=new Man("a1");
    Man a2=new Man("a2");
    是怎么来的?
      

  7.   

    Static方法里面定义的是整个类里面每个对象公共的属性和动作
    非静态方法里面定义的是类里面不同对象不同的属性和动作。
      

  8.   

    同意:Schlemiel(维特根斯坦的扇子
    不过更多时候,我跟愿意,遵循这样的考虑:如果类方法中,如果类的方法没有与其他的变量共享数据,就可以考虑把它定义为static,