qq_随想之风_03202251
2016-05-14 21:44
怎么回事呢?
静态方法是属于整个类的、都可以调用使用它、方法也是如此、
main方法和sum方法是同一个类的静态方法,score1和score2是同一个类的静态成员,在一个main静态方法中调用sum静态方法当然是可以的,但是sum却不可以调用main,因为main是入口方法只能有Java虚拟机调用。
ava中,类不实例化是可以调用方法的,这种方法叫做静态方法,也叫做类方法。
类的静态方法不属于类的对象,而属于类本身,在该类首次使用的时候加载到系统的方法区中,一般可以使用类名直接调用类的静态方法,而不需要实例化对象。由于静态方法并不属于对象,因此在静态方法中无法操作类的普通成员变量,只能操作类的静态成员变量。(因为普通成员变量依附于类的对象存在,而类的静态方法并不属于类对象,在类对象被实例化之前静态方法就已经存在,故在静态方法中操作普通成员变量,相当于在无对象的情况下对其中的成员变量进行操作,这是无意义的,同时也不符合面向对象的思想。)
至于静态方法有什么用,上面已经提到在静态方法中可以操作类的静态属性,而静态属性是类的属性,可以作为一次程序运行期间的全局变量来使用,因此我认为静态方法的主要作用就是对类中静态属性的初始化或者根据静态属性实现一定的业务逻辑
int allScore = sum();简单来说是给allScore变量赋值,但是赋值的结果在sum方法当中,所以需要调用sum()方法
Java入门第二季 升级版
530559 学习 · 6091 问题
相似问题