為什么定義靜態變量 sum會提示表達式不和法???
public class HelloWorld {
? ??
? ? // 定義靜態變量score1
? ? static int score1 = 86;
? ? // 定義靜態變量score2
? ? static ? ? int score2 = 92;?
? ? // 定義靜態方法sum,計算成績總分,并返回總分
public ?static ?int sum() {?
? ? ? static int sum = score1 + score2 ;
? ? ? return sum;
? ? ? //return score1 + score2;
? ? ??
}
public static void main(String[] args) {
? ? ? ??
? ? ? ? // 調用靜態方法sum并接收返回值
int allScore = sum();
? ? ? ??
System.out.println("總分:" + allScore);
}
}
2017-12-25
方法中的屬性是局部變量,局部變量不能是靜態的。
2018-01-05
int allScore = sum(); 這樣寫是對的,運行的時候并沒有報錯。其實這個就是注意事項的第三點??!靜態方法中可以直接調用動用靜態方法??!
2017-12-25
局部變量是存放在棧中的,當方法結束后,資源就被gc回收了,而static修飾的是類屬性,這個則不會。
2017-12-25
非常明顯的錯誤 在你的調用方法中出現了錯誤
應該為int allScore = HelloWorld.sum();