java.nio.file.Path和java.nio.*之间的区别是什么;

java.nio.file.Path和java.nio.*之间的区别是什么;,java,Java,当我在java中查看Scanner的源代码时,我发现有些东西让我困惑 import java.nio.file.Path; import java.nio.*; 它们之间的区别是什么,为什么不直接导入java.nio.*? 谢谢。通配符不是递归的import java.nio.*直接导入java.nio下的所有内容,但不会比这更深 事实上,“更深”本身就是一个误导性的术语。Java中的包没有形成层次结构——它们实际上没有以任何语义方式嵌套java.nio.file和java.nio之间的关系并

当我在java中查看Scanner的源代码时,我发现有些东西让我困惑

import java.nio.file.Path;
import java.nio.*;
它们之间的区别是什么,为什么不直接导入java.nio.*?
谢谢。

通配符不是递归的
import java.nio.*
直接导入
java.nio
下的所有内容,但不会比这更深


事实上,“更深”本身就是一个误导性的术语。Java中的包没有形成层次结构——它们实际上没有以任何语义方式嵌套
java.nio.file
java.nio
之间的关系并不比
foo
bar
之间的关系更密切。

java.nio.
只导入该
包中的类,而不导入其
子包中的类。导入中没有树结构的概念,即使我们知道它映射到目录树上。无递归。
import java.nio.file.Path为了保持直截了当,导入通配符似乎是可行的,除非您不使用多个可能有冲突名称的框架和库