在一個方法中,使用辨別符“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