欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

beanshell学习笔记(三)——作用域的修饰Scope Modifiers

程序员文章站 2022-03-19 22:02:17
...
通过上一章学习笔记,知道了将方法看成对象的理论,这一节就着重看看对象作用域的问题
[b]'this', 'super', and 'global'[/b]
在笔记一中,我利用'super'调用一个被定义的方法的作用域外面的一个被覆盖的变量,笔记二中,通过返回this来引用所在方法的作用域,他们使我们能把一个方法的作用域看成一个对象Object,
global是在beanshell的脚本的最上面声明如:
// Create a top level object to hold some state
dataholder = object();

foo() {
...
bar() {
dataholder.value = 42;
}

bar();
print( dataholder.value );
}

在上面的代码中,我们用beanshell脚本对象命令object()来创建一个空的对象在脚本范围中来制定一些数据.Object()是一个用来创建空对象的方法,上面的"datahoder"拥有脚本的任意作用范围

下面一段beanshell代码将会展示这些关键字和他们所能带来的作用:
print( this ); // 'this' reference (XThis) to Bsh object: global

// The following cases all synchronize on the same lock
synchronized ( this ) { } // synchronized block
synchronized int foo () { } // synchronized method foo()
synchronized int bar () { } // synchronized method bar()
int gee() {
synchronized( super ) { } // synchronized blockinside gee()
}
相关标签: 脚本