我是java新手,我遇到一个错误(经过半小时的搜索)没有透露自己。我有两个课程(这是来自我的教程):
Board.java:
package skeleton;
import javax.swing.JPanel;
public class Board extends JPanel {
public Board() {}
}
和Skeleton.java(我已经删除了不相关的材料):
package skeleton;
import javax.swing.JFrame;
public class Skeleton extends JFrame {
public Skeleton() {
add(new skeleton.Board());
}
public static void main(String[] args) {
new Skeleton();
}
}
我编译了它们,但是Skeleton得到了它无法找到Board的错误。有谁知道为什么javac找不到合适的课程?
编辑:它们都位于名为“骨架”的同一文件夹中。另外,我的操作系统是windows xp prof。
答案 0 :(得分:1)
如果它在同一个包中,则不需要使用命名空间来调用第二个类。
尝试检查文件夹中是否存在Board.class
文件。只需使用new Board();
来实例化。
答案 1 :(得分:1)
试一试。
$ ls
skeleton
$ ls skeleton
Board.java Skeleton.java
$ javac skeleton/*.java
$ ls skeleton
Board.class Board.java Skeleton.class Skeleton.java
调用javac命令,使两个.class文件都在骨架中。此外,在运行时确保骨架的父目录在类路径中。
答案 2 :(得分:0)
假设您在同一目录中编译并运行:
运行时请使用
java -cp . skeleton.Skeleton