java 使用反射機制來獲取私有方法和成員變量

此段代碼是獲取對象exeTask中的私有方法initConn和私有變量defaultDBConn,initConn方法是完成對數據庫的連接工作。
Method method = exeTask.getClass().getDeclaredMethod("initConn", 
	new Class[]{String.class,String.class,String.class,String.class,String.class});
method.setAccessible(true);
method.invoke(exeTask,new Object[]{dbName,username,password,ip,port});
method.setAccessible(false);
			
Field filed = exeTask.getClass().getDeclaredField("defaultDBConn");
filed.setAccessible(true);
Connection conn = (Connection) filed.get(exeTask);
boolean tag = conn.isValid(10);
filed.setAccessible(false);
Assert.assertEquals(true, tag);
conn.close();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章