java中的import与c++中的inlude有什么区别?
是不是一样的?

解决方案 »

  1.   

    区别很大
    include 是告诉预编译器将include 语句的文件扩展到当前c文件中,在进行编译
    例如:
    a.h :   int a;
    a.c 
    #include "a.h"
    int main() {  return 0; }预编译后的临时文件就是
    int a;int main() {  return 0; }
    import 是指引编译器去相应的目录数和文件查找使用的类,并不扩展该类的内容到当前编译类,如果当前编译文件中使用的类未被编译,则会编译该类
      

  2.   

    blh讲的对。 我稍微补充几句
    要正确理解#include和import的区别,首先要比较清楚的知道C++和java预编译器的做法。C++对每个工程中的.cpp或.c文件进行编译,.h是不进行编译的,只是用来被include到别的cpp里去。#include的过程是源代码级的,因此如果写的不好(通常是在.h源代码里写了函数实现,与变量定义,又有多个.cpp#include了这个.h)会产生链接错误。而import不会,import只是引入一个逻辑空间,让程序员在代码中用比较简短的类名代替比较长的类名而已。所以import和include是完全不同的两回事。import的效果,其实相当于C++中的using namespace。
      

  3.   

    想不到在JAVA区也能学到C++知识,呵呵,不错!
      

  4.   

    c++里面也有using namespace?不是c#么?
      

  5.   

    我觉得有个现象应该可以大体说明一下,c++在编译完成后不需要.h也能运行,因为编译前就已经包含进去了。
    java在运行时还是需要那个类的,否则就找不到类
    应该 是这样的吧