基于本教程,我正在教自己一些关于Java中的文件和I / O:Oracle Tutorial
现在,在写了一些例子来理解输入和输出后,我得到了关于某些库的导入的问题。
我创建了以下示例程序,我问自己为什么该程序说:
找不到符号 - 类Charset
import java.nio.*;
public class test
{
public static void main(String[] args)
{
Charset charset = Charset.forName("US-ASCII");
}
}
我知道解决方案是导入以下内容 import java.nio.charset。*;
但是为什么我必须导入它,如果我已经有了父库?
答案 0 :(得分:0)
您导入的是包,而不是库。库可能包含多个包,但这并不意味着您可以单独导入它们。
此外,Charset类属于java.nio。 charset 包,而您已导入java.nio。文件包。两者之间没有关系 - 一个不是另一个的父母。
答案 1 :(得分:0)
但是为什么我必须导入它,如果我已经有了父库?
不,你不是,想象包作为文件夹和子文件夹定义路径......
导入时
java.nio.file *;
您正在访问该“路径”中的所有课程
但Charset位于java.nio.charset文件夹中....这实际上是另一条完全不同的路径......
您的意思是从父包中导入所有内容,例如
java.nio中。*;
答案 2 :(得分:0)
帮助的一个例子就是当你想到它时,对象包是所有包的王者,但是如果你导入它,你就不会得到它下面的所有东西。然后就没有必要进口东西了,更不用说这会产生的问题了。您不能只导入一个包,并期望在它下面创建的所有包都带有它。出于存储原因,仍然需要子包。