JAVA는 리플렉션을 통해 멤버 변수와 정적 변수의 이름을 얻을 수 있지만 로컬 변수는 얻을 수 없습니다.
public class Test { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub //获取所有变量的值 Class clazz = Class.forName("com.qianmingxs.ScoreTable"); Field[] fields = clazz.getFields(); for( Field field : fields ){ System.out.println( field.getName() + " " +field.getInt(clazz) ); } //获取单个变量的值 /*Class clazz = Class.forName("com.qianmingxs.ScoreTable"); Field field = clazz.getField("FIVE"); System.out.println( field.getInt(clazz));*/ } }
볼 Java 클래스는
public class ScoreTable { private ScoreTable() {} public final static int FIVE = 100;//成5 public final static int DOUBLE_ALIVE_FOUR = 99;//双活4(分析对手用) public final static int ALIVE_FOUR_AND_DEAD_FOUR = 98;//活4死4(对手分析用) public final static int ALIVE_FOUR_AND_ALIVE_THREE = 96;//活4活3(分析对手用) public final static int ALIVE_FOUR_AND_DEAD_THREE = 95;//活4死3(分析对手用) public final static int ALIVE_FOUR_AND_ALIVE_TWO = 94;//活4活2 public final static int ALIVE_FOUR = 93;//活4 public final static int DOUBLE_DEAD_FOUR = 92;//双死4 public final static int DEAD_FOUR_AND_ALIVE_THREE = 91;//死4活3 public final static int DEAD_FOUR_AND_ALIVE_TWO = 90;//死4活2 public final static int DOUBLE_ALIVE_THREE = 80;//双活3 public final static int ALIVE_THREE_AND_DEAD_THREE = 70;//活死3 public final static int HALF_ALIVE_FOUR = 65;//半活4(类似○○ ○形),优先级小于活4 public final static int ALIVE_THREE = 60;//活3 public final static int DEAD_FOUR = 50;//死4 public final static int DOUBLE_ALIVE_TWO = 40;//双活2 public final static int DEAD_THREE = 30;//死3 public final static int ALIVE_TWO = 20;//活2 public final static int DEAD_TWO = 10;//死2 public final static int SINGLE = 0;//单个 }
위의 익스플로잇은 리플렉션을 통해 Java 클래스에서 정적 변수 이름과 변수 값을 얻는 간단한 예는 모두 편집기에서 공유한 내용이므로 참조할 수 있기를 바라며 PHP 중국어 웹사이트를 지원해 주시길 바랍니다.
Java 클래스에서 정적 변수 이름과 변수 값을 얻기 위해 리플렉션을 사용하는 더 간단한 예를 보려면 PHP 중국어 웹사이트에서 관련 기사를 주목하세요!