5

静的ブロックを作成し、そこにオブジェクトを作成すると、たとえば他のクラスのオブジェクトが作成されます。オブジェクトはヒープまたはスタックに作成されますか?

class Hello {
   static {
       Abc abcObject=new Abc();
   }
   // Other Code...
} 
4

2 に答える 2

7

static (または) non-static に関係なく、オブジェクトは常にヒープ上にあります。

参照はスタックになります。

于 2012-09-04T15:26:17.400 に答える
4

オブジェクトはヒープに作成されますが、オブジェクトへの参照はスタックにあります。

作成した変数abcObjectはスタックにあります。new Abc()これには、オブジェクトが格納されているヒープ内のメモリ アドレスが含まれます。

于 2012-09-04T15:26:42.043 に答える