先說(shuō)一下static方法的特點(diǎn)吧。
方法被定義為static就表示這個(gè)方法不需要聲明類的實(shí)例即可執(zhí)行;比如main方法。而某個(gè)類成員被定義為static的時(shí)候,它就幾乎完全獨(dú)立于這個(gè)類了。
根據(jù)think in java2 還有java參考大全中所述,static方法在類剛剛被加載的時(shí)候就執(zhí)行了。
因此,可以說(shuō),static方法是在對(duì)程序進(jìn)行解釋的時(shí)候執(zhí)行。
比如(引自java參考大全)
class UseStatic{
static int a = 3;
static int b;
static void meth(int x)
{
System.out. b = a*4;
}
public static void main(String[] args)
{
meth(42);
}
}
一旦UseStatic被裝載,所有的static語(yǔ)句被執(zhí)行。首先,a被設(shè)置為3,接著static塊執(zhí)行(打印一條消息),最后,b初始化為a*4或12。然后調(diào)用main(),main()調(diào)用meth(),把42傳遞給x。3
個(gè)println()語(yǔ)句引用兩個(gè)static變量a和b,以及局部變量x。
如有錯(cuò)誤,請(qǐng)指教。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注