求指點!?。。。?!
這個最后一行的ptint();為什么能直接寫可以,但是練習題的
int allScore=HelloWorld.sum();就不能寫成int allScore=sum();,求大佬指點!?。。?!我覺得是靜態方法調用靜態方法就應該可以直接調用啊,但為什么還得用類調用?
這個最后一行的ptint();為什么能直接寫可以,但是練習題的
int allScore=HelloWorld.sum();就不能寫成int allScore=sum();,求大佬指點!?。。?!我覺得是靜態方法調用靜態方法就應該可以直接調用啊,但為什么還得用類調用?
2019-08-02
練習題的也可以寫成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類中,但是你這個調用 并不是在這個類中。
舉報
2019-08-02
可以啊,static就是說在最開始已經為這個方法分配了內存空間,已經與HelloWorld這個特定的類關聯,而你又是在此類中調用,所以無需實例化也是可以的,你是不是其他地方的代碼有點問題?你可以把你運行錯誤的那個代碼貼出來我看一下