错误:找不到符号

6ojccjat  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(420)

我的目录结构如下:

/WorkingDirectory
    MyCollection.java
    /au/edu/au
        /UserInterface
            UserInterface.java
        /Collection
            Album.java
            CDAlbum.java
            DVDAlbum.java
            CollectionFactory.java

其中album.java是由cdalbum.java和dvdabum.java实现的接口。每个.java文件都有相应的

package au.edu.uow.UserInterface;

package au.edu.uow.Collection;

线路。
在userinterface.java中,我声明了一个类型为album的arraylist,它给了我编译错误

.\au\edu\uow\UserInterface\UserInterface.java:9: error: cannot find symbol
    private ArrayList<Album> myCollection;
                      ^
symbol:   class Album
location: class UserInterface

我是从mycollection.java编译的,它有两个包的import语句。
是什么导致了这个错误?我试着添加

import au.edu.uow.Collection

到userinterface.java,但没有用。

6jygbczu

6jygbczu1#

所以,你的文件夹结构看起来像 /au/edu/au &你想从 au.edu.uow 除了jimn所建议的以外,我想您会发现java会抱怨te package 不存在或中的文件 /au/edu/au 你错了 package 更改目录结构或 package 结构匹配

brjng4g3

brjng4g32#

您需要:

import au.edu.uow.Collection.*;

或:

import au.edu.uow.Collection.Album;

使用通配符导入更方便,但有些人认为这是一种不好的做法。这是一个风格问题;你自己决定吧。
对于所有小写的包名来说,它也被认为是一种好的样式,尽管编译器并不强制这样做。

相关问题