类不实例化是可以调用方法的,这种方法叫做静态方法,也叫做类方法。
类的静态方法不属于类的对象,而属于类本身,在该类首次使用的时候加载到系统的方法区中,一般可以使用类名直接调用类的静态方法,而不需要实例化对象。由于静态方法并不属于对象,因此在静态方法中无法操作类的普通成员变量,只能操作类的静态成员变量。(因为普通成员变量依附于类的对象存在,而类的静态方法并不属于类对象,在类对象被实例化之前静态方法就已经存在,故在静态方法中操作普通成员变量,相当于在无对象的情况下对其中的成员变量进行操作,这是无意义的,同时也不符合面向对象的思想。)
至于静态方法有什么用,上面已经提到在静态方法中可以操作类的静态属性,而静态属性是类的属性,可以作为一次程序运行期间的全局变量来使用,因此我认为静态方法的主要作用就是对类中静态属性的初始化或者根据静态属性实现一定的业务逻辑。
网友评论