2009-07-11 35 views

Trả lời

3

Tại đoán tôi sẽ nói rằng điều này được thực hiện bằng cách phản ánh vào loại mục tiêu và thiết lập các lĩnh vực trực tiếp sử dụng phản ánh

Tôi không phải là một lập trình viên java nhưng tôi tin rằng java có hỗ trợ phản ánh tương tự của NET mà tôi sử dụng

4

Hãy thử

import java.lang.reflect.Field; 

class Test { 
    private final int value; 
    Test(int value) { this.value = value; } 
    public String toString() { return "" + value; } 
} 

public class Main { 
    public static void main(String... args) throws NoSuchFieldException, IllegalAccessException { 
     Test test = new Test(12345); 
     System.out.println("test= "+test); 

     Field value = Test.class.getDeclaredField("value"); 
     value.setAccessible(true); 
     System.out.println("test.value= "+value.get(test)); 
     value.set(test, 99999); 
     System.out.println("test= "+test); 
     System.out.println("test.value= "+value.get(test)); 
    } 
} 

in

test= 12345 
test.value= 12345 
test= 99999 
test.value= 99999 
Các vấn đề liên quan