Main Content

import

Add package, class, or functions to current import list

Description

example

import PackageName.ClassName adds the class name to the current import list. To refer to a class without specifying the entire package name, use the import function in your code.

The import list scope is defined as follows:

  • Functions, including nested and local functions — The scope is the entirety of the function. This includes code that precedes import.

    The import list of a function is persistent across calls to that function and is cleared only when the function is cleared. For more information, see the clear function. Do not call clear import within a function or a script.

    Scripts — The scope of a script is the entire script body. This includes code that precedes import. The imports in a script are available only in the script body and are not available in the scopes which call the script. For example, executing a script containing imports at the command prompt does not make the imports available in the command window.

  • Base workspace — The scope is code executed at the command prompt. To clear the base import list, type clear import at the MATLAB® command prompt.

example

import PackageName.FunctionName adds the specified package-based function. Use this syntax to shorten the name of a specific function in a package without importing every function in the package, which might cause unexpected name conflicts.

example

import PackageName.ClassName.staticMethodName adds the specified static method. Use this syntax to shorten the name of a specific static method.

example

import PackageName.* adds the contents of the specified package name. PackageName must be followed by .*.

Avoid using this syntax, as importing the contents of packages brings an unspecified set of names into the local scope, which might conflict with names in the MATLAB workspace. One possible use for this syntax is to import a partial package name. Then when you call a function, you use a shorter package name which does not conflict with simple function names.

example

import displays the current import list in the scope.

L = import returns the current import list.

Examples

collapse all

import java.util.Currency java.lang.String

Create a java.lang.String object. There is no need to type the package name, java.lang.

s = String('hello')
s =

hello

List the Currency class methods, without typing the package name.

methods Currency
Methods for class java.util.Currency:

equals                    getAvailableCurrencies    getClass                  getCurrencyCode           getDefaultFractionDigits  getDisplayName            getInstance               getNumericCode            getSymbol                 hashCode                  notify                    notifyAll                 toString                  wait                      

Use partial package names on your import list to simplify calls to matlab.io.hdf4.sd package functions and avoid conflicts with the MATLAB close function.

import matlab.io.hdf4.*

Display the full path to the example file sd.hdf on your system using the shortened package name sd.

sdID = sd.start('sd.hdf');
filename = sd.getFilename(sdID)
filename =

C:\Program Files\MATLAB\R2015a\toolbox\matlab\imagesci\sd.hdf

Call the close function with the sd package name.

sd.close(sdID)

There is no name conflict with the MATLAB close function when you import the partial package name.

which close
C:\Program Files\MATLAB\R2015a\toolbox\matlab\graphics\close.p

If you use the matlab.io.hdf4.sd.* syntax to import the entire package name, when you call close, MATLAB always chooses the package function. You cannot use close to remove a figure.

Import the matlab.io.hdf4.sd package function, readChunk in a function, myfunc. You can call the function using the simple name readChunk, but only within the scope of myfunc.

function data = myfunc(ID,n,m)
import matlab.io.hdf4.sd.readChunk
data = readChunk(ID,[n m]);
end

Import the meta.class.fromName static method in a function, myFunc. You can call the static method using the simple name fromName, but only within the scope of myFunc.

function metaClsObj = myFunc(ClassName)
    import meta.class.fromName
    metaClsObj = fromName(ClassName);
end

Open the sd.hdf example file and access the temperature data set.

import matlab.io.hdf4.*
sdID = sd.start('sd.hdf');
idx = sd.nameToIndex(sdID,'temperature');
sdsID = sd.select(sdID,idx);

Call the myfunc function from the previous example to read the data. myfunc must have its own import statement to use a shortened package name.

dataChunk = myfunc(sdsID,0,1);

Close the file.

sd.endAccess(sdsID)
sd.close(sdID)
import
ans = 

    'java.util.Currency'
    'java.lang.String'
    'matlab.io.hdf4.*'
    'matlab.io.hdf4.sd.readChunk'

Input Arguments

collapse all

Name of the package, specified as a string or character vector.

Example: matlab.io.hdf4

Name of the class, specified as a string or character vector.

Example: Currency

Name of the package function, specified as a string or character vector.

Example: readChunk

Name of the static method, specified as a string or character vector.

Example: fromName

Data Types: char | string

Output Arguments

collapse all

Import list, returned as a cell array of character vectors.

Limitations

  • import cannot load a Java® JAR package created by the MATLAB Compiler SDK™ product.

  • Do not use import in conditional statements inside a function. MATLAB preprocesses the import statement before evaluating the variables in the conditional statements.

Version History

Introduced before R2006a

expand all