[英]When objects created with static reference, why do instance block & default constructor get executed before static block?
[英]Where in memory are objects located when they are created within a static block?
如果我創建一個靜態塊並在那里創建一個Object,比如說其他一些類,那么該對象是在堆上還是在堆棧上創建的?
class Hello {
static {
Abc abcObject=new Abc();
}
// Other Code...
}
無論靜態(或)非靜態,對象始終在堆上。
引用將在堆棧上。
對象在堆中創建,但對象的引用位於堆棧中。
您創建的變量abcObject
位於堆棧中。 它包含堆中存儲new Abc()
對象的內存地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.