天天看點

BeanShell中實作接口

注意:實作任意接口需要 BeanShell 運作在 Java 1.3 或者更高版本的環境之下。

你可以使用标準的 Java 匿名内部類文法通過腳本來實作一個接口。例如:

ActionListener scriptedListener = new ActionListener() { 

actionPerformed( event ) { ... } 

你沒必要把一個接口中的所有方法寫成腳本。你可以選擇性得把你想要調用的那些寫成腳本。如果試圖請求一個沒有被定義的方法那麼調用的代碼将很容易得抛出異常。如果你希望重載大量方法——為記錄日志建立一個“仿造的”擴充卡——你可以在你的腳本對象上實作一個特定的方法簽名:invoke(name, args)。調用 invoke() 方法來處理任何未定義的方法調用:

ml = new MouseListener() { 

mousePressed( event ) { ... } 

// handle the rest 

invoke( name, args ) { print("Method: "+name+" invoked!"); 

本文轉自 tongqiuyan  51CTO部落格,原文連結:http://blog.51cto.com/tongqiuyan/744169