请教各位高手,我这有两个.java文件,其中一个要调用另一个。程序源码如下:
//Bug.javaimport 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.javapublic  class  Bugstart
{
  public  void  main(String[] args)
  {
    Bug abug;
    abug = new Bug(20,20);
    abug.walk();
    abug.report();
  }
}
 
  请问这两个.java如何编译运行?在其中要加入其他语句吗?为什么不能和C一样在一起编译呢?请回答详细一点,谢谢!

解决方案 »

  1.   

    如果两个文件放在同一个包里,可以不加语句。如果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。
      

  2.   

    首先谢谢楼主的回复。我把这两个文件放在一个目录下,用javac *.java编译后,成功生成两个.class文件。再用java Bugstart时,提示:Exception in thread "main" java.lang.NoSuchMethodError:main.请问应如何运行?
      

  3.   

    //Bugstart.java这个类中的主函数,少了static 关键字!!
      

  4.   

    谢谢楼上的,加上static 关键字解决了。怎么结贴啊?