static的variable or method範圍包括自身及children
以下轉自adobe document
靜態屬性與範圍鏈
雖然靜態屬性不繼承,但它們是在定義該屬性之類別及該類別
之任何子類別的範圍鏈內,因此靜態屬性是同時位於其定義類別及任何子類別的「範圍中」。也就是說,靜態屬性可以在定義靜態屬性的類別主體及其任何子類別之
內直接存取。
下列範例修改了上一個範例中所定義的類別,以示範定義於 Base 類別中的靜態 test
變數是在 Extender 類別的範圍中。換句話說,Extender 類別可以存取靜態 test
變數,而不需要以定義 test 的類別名稱做為變數的前置詞。
package
{
import flash.display.MovieClip;
public class StaticExample extends MovieClip
{
public function StaticExample()
{
var myExt:Extender = new Extender();
}
}
}
class Base {
public static var test:String = "static";
}
class Extender extends Base
{
public function Extender()
{
trace(test); // output: static
}
}
沒有留言:
張貼留言