java import用户自定义包 - 错误:找不到符号

时间:2012-08-25 03:04:15

标签: java package

我的目录结构如下:

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

其中Album.java是由CDAlbum.java和DVDAlbum.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,但无济于事。

2 个答案:

答案 0 :(得分:7)

您需要:

import au.edu.uow.Collection.*;

或:

import au.edu.uow.Collection.Album;

使用通配符导入更方便,但有些人认为这是一种不好的做法。这是一个风格问题;自己决定。

对于包名称来说,它也被认为是小写的好方式,尽管编译器没有这样做。

答案 1 :(得分:0)

所以,你的文件夹结构看起来像/au/edu/au&amp;您尝试从au.edu.uow

导入

除了JimN的建议之外,我想你会发现Java会抱怨te package不存在或/au/edu/au中的文件错误package < / p>

更改目录结构或package结构以使其彼此匹配