在靜態(tài)方法中定義局部變量時(shí)不用加是static吧
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;
? ? ??
}
2017-04-06
我也是給你百度的啊
無論是靜態(tài)方法還是非靜態(tài)方法,他里面的變量都屬于局部變量。而局部變量是不能定義成靜態(tài)類型的,靜態(tài)類型的都是在初始化類的時(shí)候最先初始化的,存在在方法區(qū)的靜態(tài)代碼塊里,如果你定義了靜態(tài)的局部變量,那么就會(huì)造成在還沒調(diào)用的時(shí)候這個(gè)局部變量卻已經(jīng)初始化好了,局部變量是木有初始化值的。
而且吧,我覺得,把局部變量定義成靜態(tài)的是一種浪費(fèi)。。。你函數(shù)執(zhí)行完了,局部變量就沒啥用了,如果你定義成靜態(tài)的了,那么就一直就在那存著,多浪費(fèi)空間。
再者說,如果你想要這個(gè)變量一直有用,你就得把他定義成成員變量,成員變量是可以定義成靜態(tài)的
2017-04-06
是的,局部變量不需要static聲明。因?yàn)樗辉陟o態(tài)方法內(nèi)部起作用,而且只在類裝載的時(shí)候執(zhí)行一次而已。
2017-04-06
定義為static 的變量是和類相關(guān)的,也就是說它是類變量,所以只能定義為全局變量而不是局部變量