我一个同学,初学java,他下的jdk版本里面有java基础类包的源文件,如:java.util,java.lang。然后他干了一件我从没想过的事,他建了个项目来编译java.util包和java.lang包,当然编译不通过,出现大量的错误,他问我为什么。我说java.lang包自包含在程序里,你这样编译不是犯了“先有鸡还是先有蛋的错误吗”。但是还有一些错误,我发现不是找不到类或是什么路径错误,也不是runtimeexception,是真正的语法错误,里面有些写法是很奇怪,于是我说,“可能java.lang这样的基础类包当时编译的时候用到了其他一些类库,甚至可能不是java语言写的类库”。其实我想可能用的编译器都不是javac,但不敢说,怕我同学头脑搞乱。我说的对吗?

解决方案 »

  1.   

    就是我同学编译java基础类库的源程序,结果出现大量语法错误。有些写法java里面很少见。
      

  2.   

    Java底层类的很多方法都是native的,也就是用本地代码来实现,然后通过JNI来通信。具体的楼主查查这方面的资料就知道了。
      

  3.   

    还有,jdk的类库是不需要编译的,只需要在classpath指定其位置即可。
      

  4.   

    回复人: Dan1980(不用IDE的大傻瓜) ( ) 信誉:98  2005-12-03 21:47:00  得分: 0  
     
     
       Java底层类的很多方法都是native的,也就是用本地代码来实现,然后通过JNI来通信。具体的楼主查查这方面的资料就知道了。
      
       是不是可以理解为java基础类库不是用java写的,也不是用java编辑器编译的。
      

  5.   

    回复人: Dan1980(不用IDE的大傻瓜) ( ) 信誉:98  2005-12-03 21:49:00  得分: 0  
     
     
       还有,jdk的类库是不需要编译的,只需要在classpath指定其位置即可。
     
       这个我同学知道,他就是要编译,他的想法很怪的,不过也能给我很多启发。