繁体   English   中英

Java无法在另一个Java文件中但在同一目录中找到类的符号

[英]Java cannot find symbol for class in another java file but in the same directory

我是学习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 []板;”。

为什么是这样 ? 以及我该如何解决? 先感谢您。 请问我是否有不清楚的地方或需要张贴的内容,我会尽快更新我的问题。

您的Tetrominoes枚举嵌套在Shape 因此,您可以将其称为:

private Shape.Tetronminos[] board;

...但是我认为最好将其提升为顶级类型。 我还建议将其Tetromino (单数),并使值名称遵循Java命名约定: NO_SHAPEOTHER_SHAPE (尽管我认为无论如何它们都不是真正的值)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM