JAVA中,类的申明和定义必须同时给出,当然接口中的方法只能申明。至于重新编译的问题,是这样的,当你的一个.java要调用到其它文件
中的类时,虚拟机会先去找那个类的编译文件(.class文件),如果
找到了,那么就直接调用了,而如果没有找到,那么虚拟机会去编译
那个被调用类的.java文件,然后再去调用。

解决方案 »

  1.   

    我一直用java,不太懂c++。我知道在c++中,定义和实现是分离的,而java不是。我个人觉得就这一点而言c++比java要好,定义和实现想分离有许多好处。是不是因为java中有“接口”这种东西,java的设计者才觉得没必要再把普通类的定义和实现分开?不得而知。不过在实践中,好的java程序设计者在做设计时确实大量采用了“接口”,从而使定义和实现相分离。
      

  2.   

    利用Inteface,java也可以将声明和实现分开://MyInterface.java
    public interface MyInterface {
       void method();
    }//MyImpl.java
    public class implements MyInterface {
       pubic void method(){
          //...
       }
    }