导入声明

时间:2017-03-13 13:06:49

标签: java

我正在阅读Java 8规范以更好地理解Java语言。

具体来说,第7章套餐

但是在 7.5.2 7.5.2类型导入点播声明我不明白 我们可以根据以下语法使用TypeName的情况:

import PackageOrTypeName . * ;

规范说:

  

如果PackageOrTypeName表示类型(第6.5.4节),则名称必须为   被限定(第6.5.5.2节),或发生编译时错误。

所以我跳到 6.5.4 ,但以下内容非常不清楚:

  

如果PackageOrTypeName,Q出现在名为Q的类型的范围内,   然后将PackageOrTypeName重新分类为TypeName。除此以外,   PackageOrTypeName被重新分类为PackageName。的含义   PackageOrTypeName是重分类名称的含义。

所以我无法想象如何使用TypeName

请允许,任何人都可以向我提供导入*的类型的示例 TypeName

1 个答案:

答案 0 :(得分:10)

您似乎忘记了嵌套类。一个例子是:

import java.util.Map.*;

哪会导入Entry。它现在可以像这样使用(不合格):

Entry<String, String> e = ...;

执行此导入的另一种方法是:

import java.util.Map.Entry;

其中java.util.Map是类型的名称。