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

   
   
   
   
  1. int a = 42; 
  2. foo() { 
  3. int a = 97; 
  4. print( a ); 
  5. print( super.a ); 
  6. foo(); // 打印 97, 42 

运行效果

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

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