為什么要返回,直接用SUM不可以嗎
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() {?
? ? ? sum= socre1+socre2;
? ? ??
? ? ??
}
public static void main(String[] args) {
? ? ? ??
? ? ? ? // 調(diào)用靜態(tài)方法sum并接收返回值
int allScore = sum;
? ? ? ??
System.out.println("總分:" + allScore);
}
}
2018-05-18
靜態(tài)方法中sum是方法名,方法體需要為局部變量和起個(gè)名字并賦值(因?yàn)楹褪欠祷刂?,方法體需要這個(gè)變量),只要符合命名要求就行,可以和方法名重名(例如變量和:int sum=score1+score2;但一般不建議,因?yàn)闀?huì)混淆方法名和方法體內(nèi)變量名,運(yùn)行結(jié)果是正確的);
int sum= score1+score2;
? ? ?return sum;
2.調(diào)用靜態(tài)方法:
//使用類名調(diào)用
int allScore = HelloWorld.sum();
//使用對(duì)象名調(diào)用
?HelloWorld num=new??HelloWorld();
int allScore = num.sum();
正在學(xué)習(xí),一起加油
2018-05-18
我也在學(xué),這里呢,首先 你上面的sum=socre1+socre2 不能這樣寫,因?yàn)槟闵厦娴膕um已經(jīng)是方法名了, 按照你這個(gè)程序來看,這里應(yīng)該返回和:return socre1+socre2 ? 。然后:int allScore = sum ?這里寫錯(cuò)了,因?yàn)?你上面用了static靜態(tài)方法,所以你這里可以直接調(diào)用靜態(tài)方法sum:int allScore = HelloWorld.sum(); ? ?這樣才對(duì),或者你也可以用對(duì)象名來調(diào)用,只是要麻煩一點(diǎn)。再然后 ?靜態(tài)方法中可以直接調(diào)用同類中的靜態(tài)成員,但不能直接調(diào)用非靜態(tài)成員,靜態(tài)方法中不能直接調(diào)用非靜態(tài)方法,需要通過對(duì)象來訪問非靜態(tài)方法。 ?感覺你應(yīng)該是這兩個(gè)概念沒動(dòng)吧,這兩個(gè)你要記住。一起學(xué)習(xí)吧,你看看是不是這樣。