在Java中,使用static关键字描述的方法是静态方法。与静态方法相比,实例方法的调用需要消耗更多的系统资源,这是因为实例方法需要维护一张类似虚拟函数导向表的结构,这样可以方便地实现对多态的支持。
总的来说,静态方法和实例方法的区别主要体现在以下两个方面。
在外部调用静态方法时,可以使用“类名.方法名”的方式,也可以使用“对象名.方法名”的方式。而实例方法只有后面这种方式。也就是说静态方法无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
如果没有必要去访问对象的外部,就将方法定义成静态方法。静态方法会被更快地调用,因为它不需要一个虚拟函数导向表,该表用来告诉你如何区分方法的性质,调用这个方法不会改变对象的状态。
标签:调用,静态方法,方法,成员,访问,实例,替代 From: https://blog.51cto.com/u_11315052/6653752