2011-11-03 24 views
9

का उपयोग कर मैं एक स्थिर चरपहुँच स्थिर अंतिम चर प्रतिबिंब

package com.mytest 
public class MyClass{ 
    public static final TextClass TEXT_CLASS = new TextClass(); 
} 

मैं वस्तु TEXT_CLASS प्रतिबिंब का उपयोग कैसे उपयोग कर सकते हैं के साथ एक जावा वर्ग है?

(मैं स्ट्रिंग "com.mytest.MyClass.TEXT_CLASS" की है। मैं वस्तु का उपयोग करने की जरूरत है।)

उत्तर

24

स्थिर क्षेत्रों तक पहुंचना सामान्य क्षेत्रों के रूप में ठीक उसी तरह से किया जाता है, केवल आप (Field.get() विधि के लिए किसी भी तर्क पारित करने के लिए की जरूरत नहीं है आप एक शून्य पास कर सकते हैं)।

इस प्रयास करें:

Object getFieldValue(String path) throws Exception { 
    int lastDot = path.lastIndexOf("."); 
    String className = path.substring(0, lastDot); 
    String fieldName = path.substring(lastDot + 1); 
    Class myClass = Class.forName(className); 
    Field myField = myClass.getDeclaredField(fieldName); 
    return myField.get(null); 
} 
संबंधित मुद्दे