在.java中导入自己的类文件

在.java中导入自己的类文件,java,class,import,Java,Class,Import,嘿,有一个问题,我有一个编译过的.class文件,它包含在.java文件中: package my.mypackage; public class MyClass { //SPACE START public static void space(int spacecount) { int spacepos = 1; while (spacepos <= spacecount) { System.out.println("");

嘿,有一个问题,我有一个编译过的.class文件,它包含在.java文件中:

package my.mypackage;
public class MyClass {
//SPACE START
    public static void space(int spacecount) {
    int spacepos = 1;
        while (spacepos <= spacecount) {
            System.out.println("");
            spacepos++;
        }
    }
//SPACE END
//HASH START
    public static int encrypt(String pass) {
        int total = 0;
        int  countone = 0;
        int  counttwo = 0;
        String charlist = "abcdefghiklmnopqrstuvwxyz";
        for (int l = 0; l < pass.length(); l++) {
            countone = pass.charAt(l);
            counttwo = (charlist.indexOf(countone));
            counttwo++;
            total *= 17;
            total += counttwo; 
        }
        return total;
    }
//HASH END
}

两者都在一个文件夹中。 但当我试图编译它时,它向我显示:

a.java:1: error: package my.mypackage does not exist                                                                                                                                  
import my.mypackage.MyClass;                                                                                                                                                          
                   ^                         
a.java:5: error: cannot access MyClass                                                                                                                                                
                MyClass.space(4);                                                                                                                                                     
                ^                                                                                                                                                                     
  bad class file: ./MyClass.class                                                                                                                                                     
    class file contains wrong class: my.mypackage.MyClass                                                                                                                             
    Please remove or make sure it appears in the correct subdirectory of the classpath.                                                                                               
2 errors           
有人能告诉我如何一步一步地把它组合起来吗?

这是罪魁祸首:

两者都在一个文件夹中

Java编译器依赖于一种命名源文件和文件夹的约定,这种命名方式允许它通过只检查文件名(即不检查其内容)来查找源代码;包名称是命名约定的一部分。这就是为什么编译器希望在不同的文件夹中找到
MyClass.java


由于
class MyClass
my.mypackage
包中,而
class a
在默认包中,因此它们的
.java
文件不能放在同一文件夹中。相反,
MyClass.java
文件需要放在
my/mypackage/
中(在Windows上,
my\mypackage\
)与
a.java
文件位置相关的文件夹。

这意味着如果我的a.java文件位于
C:\java`文件夹中,MyClass必须位于
C:\java\my\MyClass`?当我将这两个文件都打包在包
my
中时,情况如何?@Ch3t0r“这意味着,如果我的a.java文件位于文件夹
C:\java
中,那么
MyClass.java
必须位于
C:\java\my\MyClass
?”绝对是(除了您键入了
MyClass
而不是
mypackage
)中。“当我将这两个文件都打包在包
my
中时,情况如何?”?“同一个包中的所有
.java
文件都需要放在同一个文件夹中-在这种情况下,这将是
C:\java\my
。好了,现在我知道我做错了什么。
CLASSPATH
变量的值为
问题已修复。
a.java:1: error: package my.mypackage does not exist                                                                                                                                  
import my.mypackage.MyClass;                                                                                                                                                          
                   ^                         
a.java:5: error: cannot access MyClass                                                                                                                                                
                MyClass.space(4);                                                                                                                                                     
                ^                                                                                                                                                                     
  bad class file: ./MyClass.class                                                                                                                                                     
    class file contains wrong class: my.mypackage.MyClass                                                                                                                             
    Please remove or make sure it appears in the correct subdirectory of the classpath.                                                                                               
2 errors