修改物件私有屬性
如果類沒有定義修改私有屬性的方法;那麼藉助java反射機制,透過Class,取得Field,透過設定Field.setAccessible(true) ,就可以呼叫set方法為私有屬性設值;
import java.lang.reflect.Field;
public class ReflectionTest{
public static void main(String[] args) throws Exception{
PrivateTest pt = new PrivateTest();
Class> clazz = PrivateTest.class;
Field field = clazz.getDeclaredField("name");
field.setAccessible(true);
field.set(pt,"world");
System.out.println(pt.getName());
}
}
class PrivateTest{
private String name="hello";
public String getName(){
return name;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29212814/viewspace-1107299/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 私有屬性
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- Scala類的屬性以及物件私有欄位物件
- JavaScript私有屬性和靜態屬性JavaScript
- js 物件方法、類方法、原型方法的區別;私有屬性、公有屬性、公有靜態屬性的區別JS物件原型
- 難道是瘋了,要讀寫物件的私有屬性!物件
- 私有setter公有getter屬性
- C#訪問或修改私有類、函式、變數、屬性C#函式變數
- 協議中的私有屬性協議
- Python中的私有屬性與私有方法Python
- JavaScript公有屬性、私有屬性、公有方法和原型方法JavaScript原型
- js物件屬性JS物件
- Python中訪問私有屬性和私有方法Python
- 私有屬性的Get Set 與 Public
- 常用的瀏覽器私有屬性瀏覽器
- SQL Server 生成C#公共實體屬性和私有屬性SQLServerC#
- html元素,屬性修改HTML
- iOS UITableView 修改屬性iOSUIView
- javascript原型物件的屬性不能夠覆蓋物件自有屬性JavaScript原型物件
- GObject的物件屬性GoObject物件
- Object物件的屬性Object物件
- DataView物件buffer屬性View物件
- 修改追加屬性的值
- Oracle手工修改JOB屬性Oracle
- js 私有方法屬性和公有方法屬性簡單介紹JS
- CAD屬性編輯操作——物件屬性教程物件
- python物件屬性管理(2):property管理屬性Python物件
- python呼叫私有屬性的方法總結Python
- Python 訪問和設定私有屬性Python
- 理解 JavaScript 物件的屬性JavaScript物件
- XMLHttpRequest物件的status屬性XMLHTTP物件
- XMLHttpRequest物件的responseXML屬性XMLHTTP物件
- node實現檔案屬性批量修改(時間屬性)
- 修改ASM磁碟組的屬性ASM
- vgchange指令:修改卷組屬性GC
- javascript基礎(物件,物件屬性,屬性基本和引用資料型別,字面量建立物件,垃圾回收,屬性的列舉)(十三)JavaScript物件資料型別
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- 為什麼 JavaScript 的私有屬性使用 # 符號JavaScript符號