2011-09-23 5 views

Répondre

7

Votre question elle-même contient une erreur: les méthodes elles-mêmes ne sont pas stockées que vous avez accès; il y a un "espace de méthode" spécial où le code chargé va. Les champs statiques sont stockés à l'intérieur des définitions de classe, qui sont stockées dans une zone spéciale appelée "espace PermGen"; Les méthodes statiques, comme les méthodes normales, ne sont pas stockées dans un stockage Java normal.

+0

Ce que j'ai entendu est, si nous appelons la méthode B() à l'intérieur de la méthode A(). la méthode B() stockée en haut du A() dans la pile. est-ce faux? – sam

+0

C'est une vraie déclaration sur les * variables locales * utilisées dans 'A()' et 'B()'; ce n'est pas vrai sur les méthodes elles-mêmes. Lorsque vous appelez une méthode, l'espace est mis de côté sur la pile pour ses variables locales; Ainsi, une méthode peut s'appeler elle-même et chaque appel obtient son propre ensemble privé de variables locales. Cela n'a rien à voir avec où les méthodes (le code?) Sont elles-mêmes stockées. –