回答
您可以使用該對象的構造屬性來獲取該對象的類對象的引用,你就可以從該類對象調用靜態變量
package{
import flash.display.Sprite;
public class Test extends Sprite{
public function Test(){
var variable : A = new A();
trace((variable as Object).constructor.a());
}
}
}
class A{
static function a() : String{
return "test";
}
}
通過它的實例獲取類引用。
var className:string = getQualifiedClassName(object); //returns the class name
var classObj:Class = getDefinitionByName(className) as Class; //get a Class object
剛纔意識到即使引用了Class對象,您也可能無法調用靜態方法。我想這個答案只有一半。我無法訪問flex編譯器,對不起。 – 2009-07-27 21:43:56
是的,你可以,看看我上面的答案。 – loungerdork 2011-07-28 06:54:44
有一個更簡單的方法,但是這裏假定存在靜態函數。
var myclass:Class = getDefinitionByName("MyClass") as Class;
myclass["myStaticMethod"]();
這有點令我感到驚訝,這種語法的作品。
是否myClass.myStaticMethod()不起作用? – 2012-12-14 16:15:50
它不會通過編譯器。 1180:調用一個可能未定義的方法myStaticMethod。 – loungerdork 2014-05-08 13:57:52
- 1. Java - 只有一個類的實例:使用靜態方法?
- 2. 類實例調用靜態方法
- 3. PHP:調用一個實例的靜態類中實例的私有方法
- 4. 只有公共靜態方法與實例化類的類
- 5. 從靜態調用非靜態方法的實例
- 6. Laravel4:從實例化的類對象調用靜態方法
- 7. 從(超)子類的實例列表調用靜態方法
- 8. 我可以從Worker線程調用靜態類實例的靜態方法嗎?
- 9. 調用一類的非靜態方法
- 10. 調用靜態方法的一類
- 11. 調用通過類的靜態實例
- 12. 從靜態方法調用所有實例的接口方法
- 13. 實例方法的傷害或好處調用靜態方法
- 14. 創建一個類的靜態實例
- 15. 從靜態方法實例化子類
- 16. C#類實例的靜態方法VS靜態類的內存使用情況
- 17. 靜態方法vs靜態實例
- 18. 如何從同一類的另一個實例方法調用實例方法?
- 19. 調用另一個類寬度的類的靜態方法'$ this'
- 20. 調用靜態類方法
- 21. 使用基類的靜態方法實例化一個繼承類
- 22. 調用類類型的靜態方法
- 23. 從另一個類,非靜態調用一個類和方法
- 24. 從另一個類從靜態方法訪問實例變量
- 25. 爲什麼最好從方法的類的實例中靜態地調用靜態方法?
- 26. 從另一個靜態方法中調用靜態方法
- 27. 如何從一個靜態方法調用非靜態方法
- 28. 從另一個靜態方法中調用matlab靜態方法
- 29. 從靜態基類方法調用靜態派生類方法
- 30. 如何從另一個類的靜態類中調用方法?
+1爲簡單起見。 – 2009-07-27 21:53:58
請記住,構造函數屬性在某些基於代理的類(如XML和XMLList)上不起作用。 – 2009-07-28 21:47:40
trivally編輯更完美地回答被問到的問題 – 2012-12-14 17:55:16