class test1{
public static void test(){
System.out.println("test!");
}
}class test2{
public static void main(String[] args){
test1 test11=new test1();
test11.test();test1.test();
}
}
这两种调用有什么区别?谢谢~~~

解决方案 »

  1.   

    test1 test11=new test1(); 多做一件事情.浪费了资源, 没必要, 
    static 的静态类都最好使用 private test1(){}  来防止实例化
      

  2.   

    Java即可以使用类名调用静态方法,也可以使用引用调用静态方法。不过建议使用类名,以避免产生误解
      

  3.   

    test1 test11=new test1();没有定义构造方法,这句能用吗?
    如果定义了感觉第二种就没有必要了。
      

  4.   

    静态方法
    1. new 对象调用
    2. 类名直接调用
    都是一样的,但new 对象多消耗了系统资源.
      

  5.   

    这两者可以说没有任何区别,因为编译器已经帮你修改过了:public static void main(String[] args){
    test1 test11=new test1();
    test11.test();test1.test();//这个如果在Eclipse或者JB的新版本中,会提示Warnning。因为会编译器直接变回test11.test();
    }
      

  6.   

    static是属于类的,所以总是不要使用对象的实例来调用,而应该总是使用类名来调用。
      

  7.   

    test11.test();
    ide会自动帮你转换成test1.test();