新手请教 有调用关系的多个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 关键字!!