Java中的'import'与C/C++中的'#include'

Eam*_*ney 21 c c++ java import include

Java中的'import'与C/C++中的'#include'的行为方式相同吗?具体来说,它是否包含它正在导入的整个库,还是只包含后续代码中调用的类和方法?

alk*_*alk 25

#include 两者都没有,既没有"导入"库,也没有类或模块.

#include指令只是告诉预处理器包含另一个文本文件(源)的内容.就这样.

预处理文件A #include文件B的结果被传递给编译器,好像它们是一个文件一样,文件B粘贴到#include放置指令的位置的文件A中.

to expliclity陈述:这一切都发生任何编译,代码生成之前.

作为副作用,C/C++预处理器可以独立于编译器使用,以处理任何类型的文本文件输入.

有人可能会争辩说,处理器前的语句#include"并不是C/C++语言的真正组成部分",因为它们在C/C++中编写任何程序并不是必需的,因为它们永远不会传递给编译器.

该表达式import未在(标准)C/C++编程的上下文中使用,因为无需导入任何内容.

C/C++模块编译之前在源级别上或编译之后由链接器组合在一起.


Aja*_*rma 8

#include<stdio.h>表示在此文件中复制stdio.h的内容,import java.util.ArrayList意味着如果您在此文件中找不到类,请查看上述导入位置.Java导入不会增加文件的大小,只会节省很少的击键次数.


Jer*_*ome 7

在Java中,当您使用时import,您可以导入:

  • 一节课: import foo.bar.Baz
  • 一个完整的包: import foo.bar.*
  • 类的单个静态成员: import static foo.bar.Baz.GRUT
  • 类的每个静态成员: import static foo.bar.Baz.*


Ger*_*ton 0

取决于您实际导入的内容。最小的可导入实体是类,最大的是包。
因此,如果您需要单个类并导入完整的包,它将引入完整的包。