天天看点

BeanShell作用域修饰符super的用法

在一个方法中,使用标识符“super”明确地修饰一个变量或者方法的引用可以在一个封闭范围(该方法定义的范围或者“更高的范围”)里指向一个定义的变量或者方法。

<b>示例代码</b>

int a = 42; 

foo() { 

int a = 97; 

print( a ); 

print( super.a ); 

foo(); // 打印 97, 42 

<b>运行效果</b>

<a target="_blank"></a>

就如同在 Java 中一样,修饰符“super”告诉作用域在父范围中去搜索变量或者方法。在上面的例子中,变量“a”默认指向在本地范围中的变量。“a”通过修饰符“super”的修饰,我们就可以指向全局范围中的变量“a”(“最高”范围)。

所以,我们可以看到“super”可以用来指向该方法的父上下文。我们可以在下面有关在 BeanShell 中如何对脚本对象使用“this”和“super”的章节中继续讨论。

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