Disons que je défini un int constant dans le fichier A.java:java 8 constant_pool dépendance constante
public final static int CONSTAN_VALUE_IN_A = 0;
lorsque j'utilise cette valeur dans un autre fichier B.java:
int fooBValue = A.CONSTAN_VALUE_IN_A;
après avoir compilé mon projet, en B.class, j'ai:
fooBValue = 0
Je veux savoir si je peux obtenir où la valeur « 0 » viennent de (A.java) lorsque je n'ai que le fichier B.class sans le code source. J'ai entendu que lors de la compilation avec java8, je peux savoir que B.java utilise une valeur constante dans A.java en lisant le pool constant dans B.class. Mais je ne suis pas vraiment sûr à ce sujet ou comment obtenir la classe réelle de la constante en lisant le pool constant.
'Je veux savoir si je peux savoir d'où vient la valeur" 0 ", que voulez-vous dire exactement? – procrastinator
La valeur est une valeur, elle ne peut pas "provenir". On a l'impression de parler des mêmes valeurs pour les variables de type référence, mais pas dans ce contexte. – Andremoniy
@procrastinateur "provient de" signifie où cette valeur constante est définie. –