求指點(diǎn)?。。。。?!
這個(gè)最后一行的ptint();為什么能直接寫可以,但是練習(xí)題的
int allScore=HelloWorld.sum();就不能寫成int allScore=sum();,求大佬指點(diǎn)?。。。?!我覺得是靜態(tài)方法調(diào)用靜態(tài)方法就應(yīng)該可以直接調(diào)用啊,但為什么還得用類調(diào)用?
這個(gè)最后一行的ptint();為什么能直接寫可以,但是練習(xí)題的
int allScore=HelloWorld.sum();就不能寫成int allScore=sum();,求大佬指點(diǎn)?。。。?!我覺得是靜態(tài)方法調(diào)用靜態(tài)方法就應(yīng)該可以直接調(diào)用啊,但為什么還得用類調(diào)用?
2019-08-02
舉報(bào)
2019-08-02
可以啊,static就是說在最開始已經(jīng)為這個(gè)方法分配了內(nèi)存空間,已經(jīng)與HelloWorld這個(gè)特定的類關(guān)聯(lián),而你又是在此類中調(diào)用,所以無需實(shí)例化也是可以的,你是不是其他地方的代碼有點(diǎn)問題?你可以把你運(yùn)行錯(cuò)誤的那個(gè)代碼貼出來我看一下
2019-08-02
練習(xí)題的也可以寫成int allScore=sum();啊。。。我就這么寫的運(yùn)行成功的0.0
2019-08-02
可以啊
public class HelloWorld {
???
??? // 定義靜態(tài)變量score1
??? static int score1 = 86;
??? // 定義靜態(tài)變量score2
?static int score2 = 92;
??? // 定義靜態(tài)方法sum,計(jì)算成績(jī)總分,并返回總分
?public static?? int sum() {
??????? int sum=score1+score2;?
??????? return sum;
?????
?}
?public static void main(String[] args) {
???????
??????? // 調(diào)用靜態(tài)方法sum并接收返回值
??int allScore = sum() ;
???????
??System.out.println("總分:" + allScore);
?}
}
2019-08-02
因?yàn)槟氵@里語句不完整,我覺得可能是靜態(tài)方法和調(diào)用的那個(gè)類不是同一個(gè)類,靜態(tài)方法只有在同一個(gè)類中才可以直接調(diào)用,不用? ?類.方法()。也就是說,你的靜態(tài)方法是定義在HelloWorld類中,但是你這個(gè)調(diào)用 并不是在這個(gè)類中。