看板 java 關於我們 聯絡資訊
依舊是 Output123 public class Output123 { public static void main(String[] args) { char[] ch = new char[]{1,2,3}; System.out.println(String.valueOf(ch)); } } 1. 先把它 compile 好 2. 寫一個 Main.groovy qty:project123_groovy_mixin qrtt1$ cat Main.groovy Output123.metaClass.'static'.main = { System.out.println "123" } Output123.main() 用 metaClass 改掉 main 的實作 :P 3. 執行 Main.groovy qty:project123_groovy_mixin qrtt1$ groovy Main.groovy 123 PS. groovy 很有趣,快來寫 groovy。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.155.177
PsMonkey:這個跟 aspectj 的招數幾乎一樣吧? 所以就不算了 [逃] 09/27 22:01
sbrhsieh:如果看原理是跟bytecode engineering 一樣 09/27 23:58
sbrhsieh:AspectJ,spring AOP 也一樣 09/28 00:00
PsMonkey:我的區別是使用現成架構 / 自己改寫 / 自己寫程式改寫 XD 09/28 00:03
qrtt1:難懂(抓頭 09/28 02:23