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

通过上一章学习笔记,知道了将方法看成对象的理论,这一节就着重看看对象作用域的问题
'this', 'super', and 'global'
在笔记一中,我利用'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() 
}


   


你可能感兴趣的:(脚本)