2011-06-15 66 views
1

我是一名強大的Java開發人員,在過去的16個小時裏我一直在學習Flash。ActionScript 3 - 內聯導入?

但是,我遇到了一件讓我煩惱的事情。 爲什麼,我不能做類似的東西,

try { } catch(e:flash.errors.IOError) { trace(e); } 

而不必指定實際import flash.errors.IOError聲明? 有沒有辦法做內聯導入?

此外,是否有「內聯進口」的技術名稱?我剛編的..

感謝

+0

我想你的意思是使用「完全限定名稱」來避免使用導入語句。 – roberkules 2011-06-15 12:39:51

+0

你確定你的第一個例子不起作用?我總是覺得你可以通過完整的合格類名來聲明數據類型。是因爲它是在try {} catch {}子句中聲明的嗎? – bigp 2011-06-15 12:43:31

+0

而人們說AS3快要死了,是吧?對於它的價值,如果你是一個Java開發者,你可能不會考慮大量try ... catch的時間影響。如果你是一個ActionScript開發者,你通常會這麼做,並且你試圖避免他們像瘟疫一樣!另外,與Java不同,你不能指定一個方法拋出什麼,所以它們也不是很有用。 – alecmce 2011-06-15 21:33:15

回答

2

我不認爲你可以避開那些import語句。但是您實際上不必親自輸入它們:如果您使用Flash Builder,則可以使用其自動完成功能爲您自動創建這些導入語句。它還有一個「組織導入」命令,可以爲您刪除未使用的導入。

+0

我正在使用FlashDevelop IDE,我不介意自己做這些,我只是希望我可以將一次性導入保留在主要導入區塊之外。 – Virux 2011-06-15 13:03:12

+0

爲什麼它有助於將一次性進口保留在進口區塊之外? – 2011-06-15 18:44:58

3

全限定名僅用於解決命名衝突。要使用類,導入指令是強制性的(不同於C#,其中全名就可以了。)請參閱語言文檔,import keyword部分:

如果你想使用 flash.display.Sprite類的 腳本

,你必須導入它。此 要求與以前的 版本的ActionScript不同,其中 導入指令是可選的。