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:

  • Function or script, including nested and local function — Scope is the function.

    The scope of a script is the script body. 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.

    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.

  • Base workspace — 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 specified package name. PackageName must be followed by .*.

Avoid using this syntax, as importing 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. For example, the matlab.io.hdf4.sd package has a close function, which can conflict with the MATLAB close function.

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 Currency:

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

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 shorted 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.

Compatibility Considerations

expand all

Behavior changed in R2019b

Introduced before R2006a