1

我不太确定我做错了什么,在这里。我在一个目录中有两个文件,我们称它们为 FileA.java 和 FileB.java。

FileA.java 的定义如下:

package com.domain.package;

import stuff;
import package.FileB;

public class FileA extends Blah implements Listener {
    /* global vars */
    /* methods */
}

FileB.java 是我的数据对象类,因此我想从 FileA.java 引用它:

Map<Object, FileB> varname;

沿线使用:

varname = new HashMap<Object, FileB>();

另一方面,FileB.java 的定义如下:

package com.domain.package;

import stuff;

public class FileB {
    /* global vars */
    public FileB() {
         /* stuff */
    }
}

为什么我得到:

FileA.java:20: package package does not exist
import package.FileB;

? 相反,我该如何让它发挥作用?

4

4 回答 4

1

package is a reserved word, don't use it as part of a package name. If you try to add a package with "package" as part of it in Eclipse, you will get an error message:

Invalid package name. 'package' is not a valid Java identifier

Rename the package, then remove the import statement. You don't need to import a file that's in the same package as the one it's referenced in.

于 2013-03-20T18:33:02.310 回答
1

因为这两个文件都在同一个包 ( com.domain.package) 中,所以您根本不需要导入FileB。您应该可以直接引用它。

此外,请确保两者FileAFileB都放在它们的包文件夹中:com/domain/package。

于 2013-03-20T18:17:10.687 回答
1

FileB 的包是com.domain.package. 您正在尝试package.FileB改用。

于 2013-03-20T18:17:22.353 回答
0

@rgettman 有正确的解决方案。使用编译这两个文件javac FileA.java FileB.java解决了这个问题。你也可以使用他的建议:javac *.java

于 2013-03-20T18:38:44.177 回答