Using the import statement

You can use the import statement to allow "short cut" references to single classes, or to packages containing multiple classes using wildcards. The compiler keeps track of all classes that have been imported using the import statement and substitutes the full class name for any abbreviated references found. This occurs anywhere where an identifier is expected.

For example, suppose you created a class named UserClass that's included in the package macr.util.users:

// In the file macr/util/users/UserClass.as
class macr.util.users.UserClass { ... }

In another script, you could use the import statement to import the reference to that class, as shown below.

import macr.util.users.UserClass;

Later in the script you could reference that class by its simple name.

var myUser:UserClass = new UserClass();

If an imported class is not used in the following script, the class is not included in the resulting SWF's bytecode. This is consistent with how the import statement works in the Java programming language.

The import statement applies only to the current script (frame or object) in which it's called. For instance, if you import a class on a script on frame 1 of a Flash document, you can only reference the class on that same frame, not on another frame.

Using wildcards in import statements

You can use the wildcard character (*) to import all the classes in a given package. For example, say you have a package named macr.util that contains two ActionScript class files, foo.as and bar. as. In another script, you could import both classes in that package using the wildcard character, as shown below.

import macr.util.*;

In the same script, you can then reference either the foo or bar classes directly.

var myFoo:foo = new foo();
var myBar:bar = new bar();