static方法是独立于对象而存在的,也就是类加载器加载类以后你就可以直接调用(可以通过类名来进行),因此,static属性在内存中就只有一个。
静态方法只是依附在类存在,而不是依赖对象而存在,所以在使用这些方法的时候,你不用new对象就可以使用,还有一个很大的特点是全局唯一,也就是你再任何地方的程序对它的引用都是访问同一个方法或是对象,如果你用static的对象,那么所有程序访问的都是一个对象,任何地方做了改变都会影响该对象,而如果是new出来的,那几完全不一样了。
具体是否要采用static方法,我觉得应该根据对象设计,如果是和对象没有直接联系或是交互,或是需要全局唯一,都可以采用static方法,对方法和对属性都是一样的。
static方法访问也是比较快的,比对象的方法要快,不用生成对象,就可以调用,但千万记住了,这不意味着所有的方法都采用static。需要根据实际情况来使用。 |