動態改變類結構 & 動態…
需要的包:javassist
public class JavassistDemo {
// javassist asm
public static void main(String[] args) throws Exception {
ClassPool cp = ClassPool.getDefault();
CtClass c = cp.get("com.test.Test");
// 新增一個函式
String methodBody = "public void test(){System.out.println(\"CtNewMethod\"); }";
CtMethod newMethod = CtNewMethod.make(methodBody, c);
c.addMethod(newMethod);
CtMethod m = c.getDeclaredMethod("print1");
// 執行函式前執行
m.insertBefore("{ System.out.println(\"insertBefore\");}");
// 執行函式後執行
m.insertAfter("{ System.out.println(\"insertAfter\"); }");
// 寫到新目錄
c.writeFile("D:\\Work");
// c.writeFile();
Class
public class JavassistDemo {
// javassist asm
public static void main(String[] args) throws Exception {
ClassPool cp = ClassPool.getDefault();
CtClass c = cp.get("com.test.Test");
// 新增一個函式
String methodBody = "public void test(){System.out.println(\"CtNewMethod\"); }";
CtMethod newMethod = CtNewMethod.make(methodBody, c);
c.addMethod(newMethod);
CtMethod m = c.getDeclaredMethod("print1");
// 執行函式前執行
m.insertBefore("{ System.out.println(\"insertBefore\");}");
// 執行函式後執行
m.insertAfter("{ System.out.println(\"insertAfter\"); }");
// 寫到新目錄
c.writeFile("D:\\Work");
// c.writeFile();
Class
相關文章
- js動態改變css偽類樣式JSCSS
- IOS 動態改變cell的高度iOS
- 動態路由,透過id改變,改頁面路由
- javascript動態改變css3的animationJavaScriptCSSS3
- Linux下共享VG改變活動狀態Linux
- 【layui】 laydate動態改變日期最小值UI
- Vue select 繫結動態變數Vue變數
- 使用RecyclerView動態改變item時遇到的坑View
- 動態連結的相關結構
- 實現動態大數結構
- WEUI picker元件無法js動態改變選項UI元件JS
- Ruby動態類別
- 動態規劃分類題目總結動態規劃
- 理解靜態繫結與動態繫結
- Python中動態類和動態方法的建立與呼叫Python
- 動態代理架構架構
- 物件呼叫動態變數物件變數
- Java動態載入類Java
- js生成動態樹狀結構及排序JS排序
- 解決 Retrofit 多 BaseUrl 及執行時動態改變 BaseUrl ?
- 用js實現動態改變根元素字型大小的方法JS
- 改@使用者功能為動態
- 動態連結庫與靜態連結庫
- 用動態連結動態洩露system地址並利用
- 動態規劃入門——動態規劃與資料結構的結合,在樹上做DP動態規劃資料結構
- 構造器中呼叫動態繫結的方法
- 動態變更vue樣式Vue
- Android開發——Java程式碼動態改變顏色字型的方法AndroidJava
- 解決Retrofit多BaseUrl及執行時動態改變BaseUrl(二)
- ant-design-vue antd-theme-webpack-plugin 動態改變主題VueWebPlugin
- python如何動態的建立類?Python
- 動態生成簽名工具類
- C++的動態繫結和靜態繫結C++
- java中的靜態繫結與動態繫結Java
- 動態規劃小結動態規劃
- 動態規劃 總結動態規劃
- mybatis動態sql總結MyBatisSQL
- [動態代理三部曲:中] - 從動態代理,看Class檔案結構定義
- cmake 連結動態連結庫