java中例項化乙個類的一種另類方法

2021-08-25 09:09:00 字數 575 閱讀 6820

今天學習j2se,學習了另一種類的構造方式,在除錯的過程中有自己的一些心得。**如下:

public class quest 

//注意這個方法具有static屬性

public static quest getq()

//用於測試

public static void main(string akg)

}

有以下心得:

1.類的構造不僅僅可以通過new來構造,還有其它很多構造形式。

2.以上quest類的構造方法定義為private屬性,在其它類中無法通過new呼叫quest類的構造方法,從而禁止了其它類構造新的quest類。

這樣做顯然有乙個用意:使得其它類只能通過getq()方法來獲取quest物件,而且獲取的quest物件是static屬性的,那麼就保證了quest物件具有全域性性,每次獲取都是quest類的同乙個例項化物件,這個性質保證了這個類至始至終都只有乙個例項化物件。

3.有一點需要注意:在**的14行中,不能習慣性的寫成return this.q;

在編譯時會出錯:無法在靜態上下文引用非靜態變數this

例項化乙個類的步驟

用程式測試了一下例項化乙個類的步驟,現總結如下,不對之處請指正。1 從堆 heap 中為例項變數以及其他資料 如指向其他類的指標以及方法的資料 分配記憶體 2 例項變數初始化 a.先初始化最高一級父類中的static變數,再按級別由高到低,最後初始化當前類中的static變數 b.先初始化最高一級父...

一種建立物件例項的類

類本身是乙個單例,類的字段是其他類的物件引用reference,類的屬性包裝該欄位。當需要物件引用reference時,使用該類的唯一例項構造。public class viewmodelshelper return instance private testviewmodel testviewmo...

java中乙個例項化的過程

乙個物件例項化過程 eg person person new person 1.jvm會讀取指定路徑下的person.class檔案並載入進記憶體,如果 並會先載入person的父類 如果有直接父類的情況下 2 在堆記憶體中開闢空間分配記憶體位址。3 並在物件空間中,對物件中的成員屬性,進行一次預設...