簡體   English   中英

如果僅在對象初始化期間給定內存,如何初始化類成員變量(實例變量)?

[英]How class member variables(instance variable) can be initialized if the memory is given only during object initialisation?

我們知道,一個類可以具有僅通過新的classname()獲得內存的對象。 然后,如何為類的實例分配一些值。

class Work{
   public int a = 55;
}

class DoStuff{
      public static void main(String[] args){
      Work obj = new Work(); // intialises variable now
      System.out.println(obj.a) // a already has value 55
   }
}

Java中初始化塊和構造函數的執行順序

  • 每當在JVM中首次加載類時,靜態初始化塊都將運行
  • 初始化塊以它們在程序中出現的順序運行。
  • 每當初始化類時,在調用構造函數之前,都會執行實例初始化塊。 它們通常放在大括號內的構造函數上方。

https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/

因此,在您的情況下public int a = 55; Work類的構造函數之前調用。 JVM首先為對象保留內存,然后開始初始化所有對象屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM