共計(jì) 647 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
Java 反射可以通過(guò) java.lang.reflect.Field
類來(lái)給對(duì)象的屬性賦值。以下是一個(gè)示例代碼:
import java.lang.reflect.Field;
public class Main {public static void main(String[] args) throws Exception {// 創(chuàng)建對(duì)象
Person person = new Person();
// 獲取屬性
Field nameField = Person.class.getDeclaredField("name");
// 設(shè)置屬性可訪問(wèn)性
nameField.setAccessible(true);
// 給屬性賦值
nameField.set(person, "John");
// 輸出屬性值
System.out.println(person.getName()); // 輸出: John
}
}
class Person {private String name;
public String getName() {return name;
}
}
在上面的例子中,首先創(chuàng)建了一個(gè) Person
對(duì)象。然后使用 Person.class.getDeclaredField
方法獲取到了 Person
類的 name
屬性。為了能夠訪問(wèn)私有屬性,需要調(diào)用 Field.setAccessible(true)
方法將其設(shè)置為可訪問(wèn)。最后,調(diào)用 Field.set
方法將屬性值設(shè)置為 "John"。可以通過(guò) person.getName()
方法驗(yàn)證屬性值是否被成功設(shè)置。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完