初次使用package和import,提示“错误的类文件”

楼主初学java,在学习import关键字导入自己写的类文件时遇到如下问题:
在ShortProgram文件夹ShortProgram.java文件写下如下代码:
import a.b.c.Rectangle;
public class ShortPrograme{
public static void main (String[] args) {
Rectangle r=new Rectangle(2.1,1.2);
System.out.println(r);
}
}
在ShortProgram文件夹下,有\a\b\c这几级子文件夹,c文件夹下有Rectangle.class文件。可是在当前路径下(d:\javapro\ShortPrograme>)输入javac ShortProgram.java后,编译出现错误:

D:\javapro\ShortPrograme\ShortPrograme.java:2: 错误: 无法访问Rectangle

import a.b.c.Rectangle;

^

错误的类文件: D:\javapro\ShortPrograme\a\b\c\Rectangle.class

类文件包含错误的类: Rectangle

请删除该文件或确保该文件位于正确的类路径子目录中。

Rectangle类前面有声明包名吗?
package a.b.c

带包编译尽量用eclipse等开发工具,如果是editplus可以参考配置editplus,控制台不太清楚

贴一下Rectangle的代码呀。
我猜可能是Rectangle里有编译错误?或者Rectangle不是public的?

Rectangle的代码如下,应该没有什么问题吧,用控制台编译通过了,并且生成了Rectangle.class
public class Rectangle{
private double length;
private double width;
Rectangle(double l,double w){
length=l;
width=w;
}
public double getLength(){
return length;
}
public double getWidth(){
return width;
}
public void setLength(double l){
length=l;
}
public void setWidth(double w){
width=w;
}
public void setSide(double l,double w){
length=l;
width=w;
}
public double area(){
return length*width;
}
public double perimeter(){
return 2*(length+width);
}
public String toString(){
return String.format("Rectangle:length=%f, width=%f",length,width);
}
}

可能是Rectangle类的访问权限问题还有可能是你设置classpath路径下没有Rectangle类

个人认为是你的环境变量设置的问题,在c盘下有相应的东西,在d盘路径不对应了

要么用eclipse开发工具 要不然你在控制台下就的写全路径 才能找到