Packages allow one schema (the importing schema) to import and make use of classes from another schema (the exporting schema). The importing and exporting schemas do not have to be related (that is, they can exist in completely independent schema branches). For details about building and reusing packages, see
The exporting schema defines the classes that it exports in packages. A single schema can export multiple packages. You can include only classes with public access in a package. When you export a class, you can select the properties, methods, and constants that are to be made available to importing schemas.
The import name of a package is defined at the time the schema is imported. (By default, the imported name is the same as the exported name.) An imported package does not have to have the same name as the exported package that it imports. However, you cannot change package definitions and export characteristics at import time, nor can you subclass imported classes. Imported classes implicitly inherit from the nearest RootSchema subschema copy class of the importing schema.