如果某个方法或者属性,不依赖于类的实例本身,或者说它是恒久不变的。则它应该是静态的。
比如,我们常用的日期类,一年有12个月。它这样定义:
public static final int FEBRUARY,
public static final int JANUARY,
……
无论对于一个什么样的日历,都是这样。不可能跑出一个这之外的月份。所有的日历都可以来使用这些标志。
但是对于一个add方法来说,你对不同的Calendar实例进行相同的日期操作,得到的结果肯定是不一样的。add方法依赖于Calendar的实例。所以它是一个实例方法。