Java中的“import”行为是否与C/C++中的“#include”行为相同?具体地说,它是包括正在导入的整个库,还是只包括在后续代码中调用的类和方法?
发布于 2012-11-23 01:34:45
#include两者都不做,既不“导入”库,也不“导入”类或模块。
#include指令只是告诉预处理器包含另一个文本文件(源)的内容。就这样。
预处理文件A#include文件B的结果被传递给编译器,就像它们是一个文件一样,文件B被粘贴到文件A中#include指令所在的位置。
为了说明这一点:这一切都发生在之前的任何编译,代码生成。
作为一个副作用,C/C++预处理器可以独立于编译器使用,以处理任何类型的文本文件输入。
有人可能会争辩说,像#include这样的预处理器语句“实际上不是C/C++语言的一部分”,因为它们不是用C/C++编写任何程序所必需的,因为它们从来不会传递给编译器。
在(标准) C/C++编程的上下文中不使用表达式import,因为不需要导入任何内容。
C/C++模块在编译之前放在源代码级别的上,或者在编译之后由链接器放在一起。
发布于 2015-05-11 15:46:23
#include<stdio.h>表示复制此文件中stdio.h的内容,而import java.util.ArrayList表示如果您在此文件中找不到类,请查看上面提到的导入位置。Java导入不会增加文件的大小,它只是节省了很少的击键次数。
发布于 2012-11-23 01:35:06
在Java中,当您使用import时,您可以导入以下任一项:
完整包单个类:import foo.bar.Baz
import foo.bar.*import static foo.bar.Baz.GRUTimport static foo.bar.Baz.*https://stackoverflow.com/questions/13517618
复制相似问题