我是学习java的初学者,我正在使用记事本来学习我在java中的基础知识,我似乎无法使用我在另一个java文件中的类(但在同一目录中),有人可以教我该怎么做?
例如,在同一目录中,我有2个java文件,一个名为Shape.java,另一个名为Board.java。在我的Shape.java中,我有一个名为Tetrominoes的类,现在我如何在Board.java中使用这个Tetrominoes类。我知道使用导入Shape.Tetrominoes将不起作用。
下面我发布了一些与我正在谈论的课程相关的代码。
Shape.java
public class Shape {
protected enum Tetrominoes { NoShape, OtherShape };
private Tetrominoes pieceShape;
public Shape() {
setShape(Tetrominoes.NoShape);
}
public void setShape(Tetrominoes shape) {
// Codes...
}
public Tetrominoes getShape() { return pieceShape; }
}
Board.java
public class Board extends JPanel implements ActionListener {
private Tetrominoes[] board;
public Board(Game parent) {
initBoard(parent);
}
// and other codes...
}
一切都很好,除了这个错误,说“无法找到符号”指向“私人Tetrominoes []板;”
这是为什么?我应该怎么解决这个问题?先感谢您。请问我是否有任何不清楚或我需要发布的其他内容,我会尽快更新我的问题。
答案 0 :(得分:4)
您的Tetrominoes
枚举嵌套在Shape
中。所以可以将其称为:
private Shape.Tetronminos[] board;
...但在我看来,最好将它推广到顶级类型。我还建议调用它Tetromino
(单数)并使值名称遵循Java命名约定:NO_SHAPE
和OTHER_SHAPE
(尽管我认为这些不是真正的值)