Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

import

将包、类或函数添加到当前导入列表中

说明

示例

import PackageName.ClassName 将类名称添加到当前导入列表。要引用一个类而不指定整个包名称,请在您的代码中使用 import 函数。

导入列表作用域的定义如下:

  • 函数或脚本,包括嵌套函数和局部函数 - 作用域是函数。

    脚本的作用域是脚本自身。脚本中的导入项仅在脚本自身中可用,在调用脚本的作用域中不可用。例如,在命令提示符下执行包含导入项的脚本不会使导入项在命令行窗口中可用。

    函数的导入列表在调用该函数时会持久存在,只有在清除该函数时才会被清除。有关详细信息,请参阅 clear 函数。不要在函数或脚本内调用 clear import

  • 基础工作区 - 作用域是在命令提示符下执行的代码。要清除基础导入列表,请在 MATLAB® 命令提示符下键入 clear import

示例

import PackageName.FunctionName 添加指定的基于包的函数。使用此语法可缩短包中特定函数的名称,而不必在包中导入每个函数(这种导入操作可能导致意外的名称冲突)。

示例

import PackageName.ClassName.staticMethodName 添加指定的静态方法。使用此语法可缩短特定静态方法的名称。

示例

import PackageName.* 添加指定的包名称。PackageName 必须后跟 .*

避免使用此语法,因为导入包会将一组未指定的名称带入局部作用域中,从而可能与 MATLAB 工作区中的名称发生冲突。此语法的一种可能的用法是导入部分包名称。然后,在调用函数时,您可以使用较短的包名称,这样就不会与简单函数名称发生冲突。例如,matlab.io.hdf4.sd 包有 close 函数,该函数可能与 MATLAB close 函数发生冲突。

示例

import 显示作用域中的当前导入列表。

L = import 返回当前导入列表。

示例

全部折叠

import java.util.Currency java.lang.String

创建一个 java.lang.String 对象。无需键入包名称 java.lang

s = String('hello')
s =

hello

列出 Currency 类方法,无需键入包名称。

methods Currency
Methods for class Currency:

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

在导入列表中使用部分包名称,以简化对 matlab.io.hdf4.sd 包函数的调用,并避免与 MATLAB close 函数发生冲突。

import matlab.io.hdf4.*

通过使用缩短的包名称 sd,显示您的系统上示例文件 sd.hdf 的完整路径。

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

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

使用 sd 包名称调用 close 函数。

sd.close(sdID)

在导入部分包名称时,不会与 MATLAB close 函数发生名称冲突。

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

如果您使用 matlab.io.hdf4.sd.* 语法导入完整包名称,则当您调用 close 时,MATLAB 始终选择包函数。您无法使用 close 删除图窗。

导入函数 myfunc 中的 matlab.io.hdf4.sd 包函数 readChunk。您可以使用简单的名称 readChunk 调用该函数,但此调用方式仅在 myfunc 的作用域内有效。

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

在函数 myFunc 中导入 meta.class.fromName 静态方法。您可以使用简单的名称 fromName 调用该静态方法,但此调用方式仅在 myFunc 的作用域内有效。

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

打开 sd.hdf 示例文件并访问 temperature 数据集。

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

调用上面示例中的 myfunc 函数以读取数据。myfunc 必须具有自己的 import 语句以便使用短包名称。

dataChunk = myfunc(sdsID,0,1);

关闭文件。

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

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

输入参数

全部折叠

包的名称,指定为字符串或字符向量。

示例: matlab.io.hdf4

类的名称,指定为字符串或字符向量。

示例: Currency

包函数的名称,指定为字符串或字符向量。

示例: readChunk

静态方法的名称,指定为字符串或字符向量。

示例: fromName

数据类型: char | string

输出参数

全部折叠

导入列表,以字符向量元胞数组形式返回。

局限性

  • import 无法加载 MATLAB Compiler SDK™ 产品创建的 Java® JAR 包。

  • 请勿在函数内的条件语句中使用 import。MATLAB 会在计算条件语句中的变量之前预处理 import 语句。

兼容性考虑

全部展开

R2019b 中的行为有变化

在 R2006a 之前推出