BeanShell的脚本对象

本文介绍了在BeanShell中如何创建脚本对象,并利用特殊值this返回对象引用。同时,文章还讲解了BeanShell脚本对象如何实现Java接口,并在必要时进行显式转换。

我的博客原址请点击此处

在 BeanShell 中,和 JavaScript 和 Perl 一样,脚本对象是由“封闭”的方法体来创建。通过方法返回的特殊值“this”,你可以使方法调用的结果成为一个对象的引用。在方法调用期间,你可以使用该引用指向任何变量。通常对象中包含方法,所以在 BeanShell 脚本方法中可能也包含任何层级的方法(来构成脚本对象):

 
 
  1. foo() { 
  2. print("foo"); 
  3. x=5; 
  4. bar() { 
  5. print("bar"); 
  6. return this; 
  7. myfoo = foo(); // prints "foo" 
  8. print( myfoo.x ); // prints "5" 
  9. myfoo.bar(); // prints "bar" 

如果这些代码看起来很陌生,别急,请参阅用户手册来获取更详尽的解释。

在你的脚本中,BeanShell 的脚本对象(即先前例子中的“this”这样的类型引用)可以自动实现任何 Java 的接口类型。当 Java 代码调用该接口上的方法时,相应的脚本方法将被调用来处理它们。当你试图传递一个带有接口类型方法的参数时, BeanShell将自动“匹配”该脚本对象。为了在 BeanShell 之外传递脚本的引用,你可以在必要的时候执行一个显式的转换。请参阅用户手册获取全部的细节内容。


本文转自 tongqiuyan  51CTO博客,原文链接:http://blog.51cto.com/tongqiuyan/744172


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值