拿来主义~稍作修改,有不好的地方可以直接查看原网址。
static method是类的方法,也就是在Class Loader 类加载的时候JVM会生成相应的字节码。
它的生命周期是整个application。所以会一直占用内存。如果不经常使用,没有必要用static。(你之所以可以直接调用,是因为static方法一直在内存中。)
不加static的method就是对象的方法,必须用对象的实例来调用(只有对象实例化了以后,对象才被加载进内存,方法才能调用)。并随着对象的消亡而消亡。如果频繁使用该方法,内存会不断地开辟空间、释放空间,性能会受影响。
如果一个方法在多处被调用,而且该方法的功能是一些Utility功能,比如格式化等,对于这类方法可以声明为static。