簡體   English   中英

如何添加/刪除屬性和方法?

[英]How do I add/remove attributes and methods?

我正在嘗試開發一個系統,使用戶應該能夠在實際的Java文件中進行修改[添加/刪除屬性和方法]。 盡管API提供了一些方法來創建新的方法/字段,但我們如何刪除/銷毀不需要的方法/字段。

我想做一個方法

updatefile(file, newMethods, newAttributes)
  • file是將要修改其方法和屬性的Java文件。

  • newMethods現在將成為文件方法

  • newAttributes將是文件的屬性

還可能需要newMethods的某些條目==我需要對其進行檢查的原始方法的某些條目; 對於newAttributes同樣如此。

如何才能做到這一點?

您需要一個字節碼操作庫。 檢查以下各項:bcel,cglib,asm,javassist。

盡管我同意JBNizet的要求,但看起來有些奇怪。 已經有功能強大的IDE可以執行此操作,並且最終用戶通常不應調整類結構。

您的想法似乎類似於JBoss forge項目。

我認為刪除方法的可能性必須基於Java規范中聲明的Java方法簽名和方法返回類型。

例如:methodRemove(File file,String returnType,String methodName,String [] methodParametersTypes)將引用適當的方法以在文件中只有一個類的情況下從文件中刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM