beanshell学习笔记(二)---基本语法:scripted method andObject

[b]Scripting Method[/b]
在beanshell中方法的修饰关键字只有synchronized,在方法上用throws关键字会检查此方法的名字的正确性,不过声明throws不是必须的
一个对象的方法被同步意味着这个方法普遍的作用范围,beanshell中同步方法的作用和java中同步方法的作用差不多
当方法内的变量重写(覆盖)了方法外面的变量时,在beanshell中调用作用域外面的变量用关键字super,类如:

int a = 42;

foo() {
int a = 97;
print( a );
print( super.a );
}

foo(); // prints 97, 42



[b]Scripting Object[/b]
在java中如若有一下定义:
 // MyClass.java
MyClass {
Object getObject() {
return this; // return a reference to our object
}
}

则可以通过如上所示的this关键字来返回实例化方法后的MyClass对象的实例.在beanshell中this可以代表返回方法的本体对象,如:
[quote]foo() {
int bar = 42;
return this;
}

fooObject = foo();
print( fooObject.bar ); // prints 42![/quote]

在beanshell中还可以在方法里面嵌套方法,你可以把每个方法看成一个对象:
foo() {
int a = 42;
bar() {
print("The bar is open!");
}

bar();
return this;
}

// 构造foo对象
fooObject = foo(); // pints "the bar is open!"
// Print a variable of the foo object
print ( fooObject.a ); // 42
// Invoke a method on the foo object
fooObject.bar(); // prints "the bar is open!"


甚至还可以多层嵌套.只要你能分得清:
foo() {

bar() { }

if ( true ) {
bar2() { }
}

return this;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值