當一個類的數(shù)據(jù)成員聲明為static時,靜態(tài)數(shù)據(jù)成員只能定義一次并由同一個類的所有對象共享。每個對象都有類中每個普通數(shù)據(jù)成員的一個副本,但靜態(tài)數(shù)據(jù)成員只存在一個實例,而不管定義了多少個類對象。靜態(tài)數(shù)據(jù)成員的目的之一是統(tǒng)計實際存在的對象數(shù)。靜態(tài)數(shù)據(jù)成員不能在類中初始化。實際上,類定義只用于描述對象的藍圖,其中不允許指定初始值。無法在函數(shù)中初始化靜態(tài)數(shù)據(jù)成員,因為靜態(tài)數(shù)據(jù)成員由類的所有對象共享,因此每次創(chuàng)建類的對象時,都會重新初始化靜態(tài)數(shù)據(jù)成員。
Java變量的初始化順序如下:父靜態(tài)變量、父靜態(tài)代碼塊、子類靜態(tài)變量、子類靜態(tài)代碼塊、父非靜態(tài)變量、父非靜態(tài)代碼塊、父構(gòu)造函數(shù)、子類非靜態(tài)變量、子類非靜態(tài)代碼塊、子類構(gòu)造函數(shù)。R您可以觀察以下程序的執(zhí)行情況:[R
程序輸出:[R]最近,我們在工作過程中遇到了一個錯誤。我們發(fā)現(xiàn)Java變量的初始化順序并不像上面那樣簡單。讓我們修改類A和類B程序輸出。[R]可以發(fā)現(xiàn),靜態(tài)塊和靜態(tài)變量的初始化順序與其聲明的位置有關。首先執(zhí)行第一個聲明,然后執(zhí)行普通塊和普通變量的初始化順序。右
本文名稱:static可以被重新賦值嗎靜態(tài)變量不是不能被重新初始化賦值嗎?-創(chuàng)新互聯(lián)
文章來源:http://chinadenli.net/article14/eopde.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站維護、網(wǎng)站設計、企業(yè)建站、定制開發(fā)、移動網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容