如何访问另一个包中的另一个类?

时间:2014-09-27 16:05:39

标签: java

我有2个课程,每个课程都在不同的文件夹

主类src / mainclass / Main.java
显示类src / swingclass / Display.java

主类:

package src.mainclass;

import src.swingclass.Display;

public class Main{
    public static void main(String[] args){
        Display sM = new Display();     
    }
}

展示班级:

package src.swingclass;

public class Display{
    public Display(){
        System.out.println("Display class");        
    }
}

我在cmd上运行它并声明

错误:包src.swingclass不存在

并且,Main类看不到Display类。

总的来说,我有3个错误。

我知道使用IDE会让这更容易,但我想在cmd上学到这一点。我按照网上的教程,但它仍然有错误。

5 个答案:

答案 0 :(得分:0)

我相信你应该摆脱包裹的src部分,即

package swingclass;

...

并将其导入为:

import swingclass.Display;

答案 1 :(得分:0)

  1. 删除所有出现的“src”。在所有文件中
  2. 转到src目录
  3. 类型:javac mainclass / Main。的java
  4. 类型:javac swingclass / Display.java
  5. 类型:java mainclass.Main

答案 2 :(得分:0)

使用-classpath标志可以帮助您解决问题。

javac -d "theClassPathNameYouWant" "src/swingclass/Display.java"

javac -d "theClassPathNameYouWant" "src/swingclass/Main.java"

java -classpath "theClassPathNameYouWant" swingclass.Main

答案 3 :(得分:0)

在命令提示符中转到src文件夹级别(进入src文件夹内),然后使用命令

javac -classpath . src/mainclass/Main.java

编译(这将隐式编译Display类,因为Main类需要它)和

java -classpath . src/mainclass/Main

运行Main类。

.表示当前目录(在您的情况下为src文件夹),然后指定其他路径(到源/类文件)。

答案 4 :(得分:0)

javac -d bin -sourcepath src<来自src目录的主类路径,在你的情况下,它将是src / mainclass / Main.java中的一个文件夹>

java -cp bin src.mainclass.Main(设置类文件所在的bin根的类路径,scr是包的起始位置)