よく知らないので、勘で書くけど、

C/C++の#includeは、コンパイル前のプリプロセッサの段階で、
ファイルのその部分に、丸々テキストをコピーする。
その後、構文解析

Javaのimportは、使わないものは読み込まれないなど、もっと効率的