这个最后一行的ptint();为什么能直接写可以,但是练习题的
int allScore=HelloWorld.sum();就不能写成int allScore=sum();,求大佬指点!!!!!我觉得是静态方法调用静态方法就应该可以直接调用啊,但为什么还得用类调用?
可以啊,static就是说在最开始已经为这个方法分配了内存空间,已经与HelloWorld这个特定的类关联,而你又是在此类中调用,所以无需实例化也是可以的,你是不是其他地方的代码有点问题?你可以把你运行错误的那个代码贴出来我看一下
练习题的也可以写成int allScore=sum();啊。。。我就这么写的运行成功的0.0
可以啊
public class HelloWorld {
// 定义静态变量score1
static int score1 = 86;
// 定义静态变量score2
static int score2 = 92;
// 定义静态方法sum,计算成绩总分,并返回总分
public static int sum() {
int sum=score1+score2;
return sum;
}
public static void main(String[] args) {
// 调用静态方法sum并接收返回值
int allScore = sum() ;
System.out.println("总分:" + allScore);
}
}
因为你这里语句不完整,我觉得可能是静态方法和调用的那个类不是同一个类,静态方法只有在同一个类中才可以直接调用,不用 类.方法()。也就是说,你的静态方法是定义在HelloWorld类中,但是你这个调用 并不是在这个类中。