调用函数时flex4 1195错误(未获取或设置)

Zyr*_*ren 0 apache-flex actionscript-3 flex4

我有一个名为S3Uploader的类,它扩展了Sprite,它有一个私有函数init,看起来像这样:

private function init(signatureUrl:String,  
                              prefixPath:String, 
                              fileSizeLimit:Number,
                                queueSizeLimit:Number,
                              fileTypes:String,
                              fileTypeDescs:String,
                              selectMultipleFiles:Boolean,
                                buttonWidth:Number,
                                buttonHeight:Number,
                                buttonUpUrl:String,
                                buttonDownUrl:String,
                                buttonOverUrl:String
                                ):void { 
//do stuff

}
Run Code Online (Sandbox Code Playgroud)

在我的flex应用程序中,我正在尝试显示sprite并在加载应用程序时调用init函数.到目前为止我的代码是这样的:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                initialize="init();">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
            import S3Uploader;

            function init() {   
                var s3upload:S3Uploader = new S3Uploader();
                s3upload.init('/s3_uploads2.xml', '', 524288000, 100, '*.*', 'All Files', true, 100, 30, '/images/upload-button.png', '/images/upload-button.png', '/images/upload-button.png');
                uploader.addChild(s3upload);
            }
        ]]>
    </fx:Script>
    <s:SpriteVisualElement id="uploader" />
</s:Application>
Run Code Online (Sandbox Code Playgroud)

但是,在我调用s3upload.init的行上,我得到一个1195错误,说"1195:尝试通过静态类型S3Uploader的引用访问不可访问的方法init".

当我查找这个错误时,似乎几乎所有人都试图用set或get来调用函数.但是,我没有这样做,我不知道为什么我得到这个错误.有谁知道我做错了什么?

Tim*_*dik 7

您应该学习OOP的基础知识.您不能private从函数所有者对象中调用函数.标记为public.