日期:2014-05-20  浏览次数:20649 次

新手请教 有调用关系的多个java源文件的编译???
请教各位高手,我这有两个.java文件,其中一个要调用另一个。程序源码如下:
//Bug.java

import   java.io.*;
public   class     Bug
    {
    int   x;
    int   y;
    int   bugnumber;
    public   Bug(int     Xpos,   int   Ypos){
        x   =   Xpos;
        y   =   Ypos;
        bugnumber   =   1;
    }
    public   void     walk(){
        x   +=   1;
        y   +=   1;
    }
    public   void   report(){
        System.out.println( "bug "   +bugnumber   +   "is   at "   +   x   + ", "   +y);
    }
    }


//Bugstart.java

public     class     Bugstart
{
    public     void     main(String[]   args)
    {
        Bug   abug;
        abug   =   new   Bug(20,20);
        abug.walk();
        abug.report();
    }
}
 
    请问这两个.java如何编译运行?在其中要加入其他语句吗?为什么不能和C一样在一起编译呢?请回答详细一点,谢谢!



------解决方案--------------------
如果两个文件放在同一个包里,可以不加语句。

如果Bug.java在package1这个包下,而Bugstart.java在package2这个包下,后者想用前者,需要在Bugstart.java文件中写import package1.*;或者import package1.Bug;以引用Bug类,也就是明确告诉编译器你在文件Bugstart.java里用到的类要去哪里找。

至于编译,当然可以一起进行。很多IDE都有build功能,就是把整个项目进行编译。大部分Java虚拟机对于运行Java采取的是动态加载的方式,也就是说当你用到这个类的时候才会把它加载进来。所以当你运行你的程序的时候,一开始会加载Bugstart.class,而在程序里用到Bug类的时候才会加载Bug.class。
------解决方案--------------------
//Bugstart.java这个类中的主函数,少了static 关键字!!