我的目录结构如下:
/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,但没有用。
2条答案
按热度按时间6jygbczu1#
所以,你的文件夹结构看起来像
/au/edu/au
&你想从au.edu.uow
除了jimn所建议的以外,我想您会发现java会抱怨tepackage
不存在或中的文件/au/edu/au
你错了package
更改目录结构或package
结构匹配brjng4g32#
您需要:
或:
使用通配符导入更方便,但有些人认为这是一种不好的做法。这是一个风格问题;你自己决定吧。
对于所有小写的包名来说,它也被认为是一种好的样式,尽管编译器并不强制这样做。