public class Test{
  public static int a(){
    return 1;
  }  public static int b(){
    int b = 1;
    b += Test.a();  //是这么写更好?
    b += a();       //还是这么写更好?
    return b;
  }
}如上。从设计角度讲哪种写法更可取呢?还是没什么区别?请说明理由,谢谢

解决方案 »

  1.   

    除了static method, 你在static函数里还能直接调什么? 同一个class,写了不觉得多此一举?
      

  2.   

    那我如果不是在static方法中调static方法呢?
      

  3.   

    既然是public,照样直接调用就行了呀,干嘛多此一举呢。定义static方法不是这样用的吧,我建议你不要钻牛角间了
      

  4.   

    看来是我这个问题出的有点问题,static方法也可以在非static方法中调用,那么问题就应该是:调用同一个类中的static方法时,是否需要写类名?
    我的考虑是,如果不写,当然是简单了,但写的话能让其他人一眼看出这里调的是一个static方法,有利于代码的可读性,但是这又会为以后更改类名带来一定的麻烦,降低了可维护性,当然如果使用可重构的IDE工具则没有这种问题。
      

  5.   


    在同一个类中,不用写
    在不同类中,则要写成:类名+静态方法名
    (不能用new )
      

  6.   

    楼上 才子说得不错, 如果你有支持重构的 IDE ,就尽管 + , 便于一眼看清代码 。我想既然 大多数 IDE 有这功能,我们就不用担心 + 了之后的事情了, 
    就算要花钱又不打算买,弄个试用的来临时整理一下代码也是可以的嘛( 保持原有的排版风格 )。