刚开始学JAVA,使用接口时出现问题,源程序如下:
//Particle.java文件
package com.wrox.physics;
interface Particle
{
long getMass();
void setMass(long m);
}
//Wave.java文件
package com.wrox.physics;
interface Wave
{
long getWavelength();
void setWavelength(long w);
}
//Light.java文件
package com.wrox.physics;
public class Light implements Particle, Wave
{
private long mass;
private long wavelength; public long getMass()
{
return mass;
}
public void setMass(long m)
{
this.mass = m;
}
public long getWavelength()
{
return wavelength;
}
public void setWavelength(long w)
{
this.wavelength = w;
}
public Light()
{
this.mass = 1;
this.wavelength = 10;
}
}
三个文件都放在...\com\wrox\physics文件夹下,编程前两个接口的文件时没问题,后一个编译时有问题,说找不到符号(类Particle和类Wave)
在线等,多谢!

解决方案 »

  1.   

    3个一起编译
    javac *.java或者用个IDE吧,JCreator对初学者有用
      

  2.   

    用个ide比较容易定位问题,推荐使用esclipse
      

  3.   

    你的三个文件都定义了包(package),如果没有引用其它类是没有什么问题的,如果引用了其它类,编译器就会在CLASSPATH中去寻找相应的包,并在包中寻找引用到的类。所以你这三个文件应该都是放在包定义的目录下,即
    com/wrox/physics
    然后,在com目录的上层目录编译
    javac -cp . com/wrox/physics/*.java或者你可以把com的父目录设置在CLASSPATH中,然后再编译(这个时候应该在哪里编译都可以)
      

  4.   

    楼上的正解,一定要根据包的路径编译
    编译的时候两个接口类文件必须在com/wrox/physics下
      

  5.   

    3个文件都放在com/wrox/physics下,这样可以不需要引用,否则在实现的时候需要引用接口文件