動態改變類結構 & 動態…
需要的包: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
- Android動態改變佈局Android
- 利用HtmlGenericControl類,動態改變Title文字 (轉)HTML
- 動態路由,透過id改變,改頁面路由
- 動態改變螢幕設定 (轉)
- javascript動態改變css3的animationJavaScriptCSSS3
- 【layui】 laydate動態改變日期最小值UI
- 動態改變quartz的觸發器策略?quartz觸發器
- 使用RecyclerView動態改變item時遇到的坑View
- 動態連結的相關結構
- 實現動態大數結構
- 類,介面與動態連結庫 (轉)
- Vue select 繫結動態變數Vue變數
- vue動態(type可變)input繫結Vue
- SQL Server動態SQL,繫結變數SQLServer變數
- 繫結變數在靜態sql和動態sql中變數SQL
- WEUI picker元件無法js動態改變選項UI元件JS
- Ruby動態類別
- javascript動態改變單選按鈕radio的選中狀態JavaScript
- 動態規劃分類題目總結動態規劃
- Android 動態佈局 動態生成 銷燬控制元件 改變控制元件的位置等Android控制元件
- javascript動態改變元素css樣式簡單介紹JavaScriptCSS
- 使用動態變數進行動態資料比較變數
- 動態代理架構架構
- 理解靜態繫結與動態繫結
- 動態SQL——構造通用動態頁面查詢SQL
- Java動態載入類Java
- 物件呼叫動態變數物件變數
- 動態繫結一
- js生成動態樹狀結構及排序JS排序
- 改@使用者功能為動態
- 解決 Retrofit 多 BaseUrl 及執行時動態改變 BaseUrl ?
- javascript動態改變iframe元素src屬性程式碼例項JavaScript
- 動態改變actionbar的menu選單MenuItem的顯示UI
- Unreal Cook Book:動態改變材質的顏色等引數Unreal
- 動態連結庫與靜態連結庫
- C++ — 靜態繫結與動態繫結C++