我正在阅读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
?
答案 0 :(得分:10)
您似乎忘记了嵌套类。一个例子是:
import java.util.Map.*;
哪会导入Entry
。它现在可以像这样使用(不合格):
Entry<String, String> e = ...;
执行此导入的另一种方法是:
import java.util.Map.Entry;
其中java.util.Map
是类型的名称。