static
static變量
static變量也稱作靜態變量,靜態變量和非靜態變量的區別是:靜態變量被所有的對象所共享,在內存中只有一個副本,它當且僅當在類初次加載時會被初始化。而非靜態變量是對象所擁有的,在創建對象的時候被初始化,存在多個副本,各個對象擁有的副本互不影響。
static成員變量的初始化順序按照定義的順序進行初始化。
static方法
static方法一般稱作靜態方法,由于靜態方法不依賴于任何對象就可以進行訪問,因此對于靜態方法來說,是沒有this的,因為它不依附于任何對象,既然都沒有對象,就談不上this了。并且由于這個特性,在靜態方法中不能訪問類的非靜態成員變量和非靜態成員方法,因為非靜態成員方法/變量都是必須依賴具體的對象才能夠被調用。
是要注意的是,雖然在靜態方法中不能訪問非靜態成員方法和非靜態成員變量,但是在非靜態成員方法中是可以訪問靜態成員方法/變量的。舉個簡單的例子:
class MyObject{
priative static String strl-"staticProperty";
priative static str2-"property" ;
public MyObject{
}
public void print1(){
System.out.println(str1);
System.out.println(str2);
print2();
}
}
static代碼
當類被加載時,靜態代碼塊會執行,由于類只加載一次,因此靜態代碼塊只執行一次。
使用一對大括號包圍起來的若干行代碼被稱為一個代碼塊,用static關鍵字修飾的代碼塊為靜態代碼塊。
單列模式
類的構造方法使用private修飾,聲明為私有,這樣就不能被在類的外部使用new關鍵字來創建實例對象了;
在類的內部創建一個該類的實例對象,并使用靜態變量instance引用該對象,由于變量應該禁止外界直接訪問,因此使用private修飾,聲明為私有成員;
為了讓類外部能夠獲得類的實例對象,需要定義一個靜態方法getInstance(),用于返回該類實例instance,由于方法是靜態的,外界可以通過類名.方法名的方式來訪問。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
標題名稱:面向對象static-創新互聯
標題路徑:http://m.kartarina.com/article28/cdsojp.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、網站設計、定制開發、網站導航、外貿網站建設、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯