Java导入包
我的问题是关于此代码:Java导入包,java,memory,import,package,Java,Memory,Import,Package,我的问题是关于此代码: import java.util.*; 我被告知此代码将导入所有Java包,但我的问题是: 它会消耗更多内存吗?因为在我正在做的程序中,我只是使用: import java.util.Scanner; 及 谢谢您的帮助。不,延迟导入对生成的程序没有影响。见这个问题: 使用惰性导入与显式导入更像是一个可读性问题。(另外,如果引用两个包中的类名,则需要显式导入来解决歧义。)否,延迟导入对结果程序没有影响。见这个问题: 使用惰性导入与显式导入更像是一个可读性问题。(此外,如
import java.util.*;
我被告知此代码将导入所有Java包,但我的问题是:
它会消耗更多内存吗?因为在我正在做的程序中,我只是使用:
import java.util.Scanner;
及
谢谢您的帮助。不,延迟导入对生成的程序没有影响。见这个问题:
使用惰性导入与显式导入更像是一个可读性问题。(另外,如果引用两个包中的类名,则需要显式导入来解决歧义。)否,延迟导入对结果程序没有影响。见这个问题: 使用惰性导入与显式导入更像是一个可读性问题。(此外,如果引用两个包中存在的类名,则需要显式导入来解决歧义。) 我被告知此代码将导入所有Java包 不,它只是告诉编译器,当我们在代码中只使用简单名称(如
List
)而不是全名java.util.List
(编译器需要将每个简单名称更改为其全名)时,它应该搜索关于类/接口的详细信息
一般来说,最好避免使用*
,因为当少数包具有相同名称的类时,这可能会导致问题。例如,让我们添加这个导入
import java.util.*;
import java.awt.*;
并使用列表
。编译器将不知道我们在这里指的是哪个List
(java.awt.List或java.util.List),并将返回错误。我们可以通过描述列表的精确位置来解决这个问题,通过添加
import java.util.*;
import java.awt.*;
import java.util.List;// <-- solves List problem
import java.util.*;
导入java.awt.*;
导入java.util.List;//
我被告知此代码将导入所有Java包
不,它只是告诉编译器,当我们在代码中只使用简单名称(如List
)而不是全名java.util.List
(编译器需要将每个简单名称更改为其全名)时,它应该搜索关于类/接口的详细信息
一般来说,最好避免使用*
,因为当少数包具有相同名称的类时,这可能会导致问题。例如,让我们添加这个导入
import java.util.*;
import java.awt.*;
并使用列表
。编译器将不知道我们在这里指的是哪个List
(java.awt.List或java.util.List),并将返回错误。我们可以通过描述列表的精确位置来解决这个问题,通过添加
import java.util.*;
import java.awt.*;
import java.util.List;// <-- solves List problem
import java.util.*;
导入java.awt.*;
导入java.util.List;//这不会导入所有java包,而是导入java.util
包中的所有java类。它不会消耗额外的运行时内存,因为它只在编译期间相关。编译可能会稍微慢一点,但这几乎不会引起注意。@geert3这似乎是我的一个完整答案-为什么要放在注释中?可能的重复不会导入所有java包,而是导入java.util
包中的所有java类。它不会消耗额外的运行时内存,因为它只在编译期间相关。编译可能会稍微慢一点,但这几乎不会引起注意。@geert3这似乎是我的一个完整答案-为什么要作为注释?可能是