静态方法和实例方法的区别主要体现在两个方面:
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
下面的图表展示了这一区别。
静态方法和实例方法的区别:
使用/调用 | 静态方法 | 实例方法 |
自己的局部变量 | √ | √ |
静态变量 | √ | √ |
静态方法 | √ | √ |
实例变量 | × | √ |
实例方法 | × | √ |