0

此代码给出错误描述
1026:构造函数必须是实例方法。joe.mxml /joe/src 第 7 行 Flex 问题

为什么。这就是我在 Flash 中声明公共变量的方式。为什么它在 Flex 中不起作用?我也试过 var joe:String="winning"; 还是不行。

<fx:Script>
    <![CDATA[
        var joe="winning";
        function changelabel()
        {
            myButton.label=joe; 
        }

    ]]>
</fx:Script>
<s:Button x="50" y="42" label="Button" id="myButton" click="changelabel()"/>
4

1 回答 1

6

我认为您遇到了这个问题,因为您的变量名 (joe) 与您的 MXML 文件的名称相同。因此,当它在代码中看到名为“joe”的东西时,它会假定那是构造函数——它会感到困惑,因为构造函数是字符串而不是实例方法。

那有意义吗?

只需将字符串变量的名称从“joe”更改为“myString”。

另外,请注意 Flash Builder 给您的警告 - 这可能看起来微不足道,但您确实应该为所有方法和属性指定访问修饰符(即,不要将“var myString”改为“public var myString”。

此外,您还需要为变量和函数指定数据类型。

protected var myString:String 受保护函数 changeLabel():void

现在采取的这些措施将帮助您编写更易于管理的更好的代码。

祝你好运!

于 2011-05-15T16:46:44.013 回答