【发布时间】:2019-08-14 09:18:37
【问题描述】:
我想创建两个包:一个包含特定于问题的类和方法,另一个包含一些典型的数学工具。 我将它们表示为“maxim.main_package”和“maxim.algebra”。 由于某种原因,我无法将代数包导入主包。 请帮忙。
由于代数包不依赖主包,我已经通过命令行成功将.java文件编译成.class。 .java 文件以“package maxim.algebra;”开头。 现在我想编译以“package maxim.main;”开头的主 .java 文件。其次是“导入代数。*;” .java 文件的路径分别是:
1) maxim\main\main.java
2) maxim\algebra\algebra.java
I run "javac maxim\main\main.java" command from maxim directory.
It fails saying:
`error: cannot access Algebra
Algebra.matrix3x3 R = Algebra.some_method(parameters)
bad class file: .\algebra\Algebra.class
class file contains wrong class: maxim.algebra.Algebra`
【问题讨论】:
-
包含类
Algebra的文件必须命名为Algebra.java。 -
我相信你也应该导入
maxim.algebra.*,而不是algebra.* -
Lutz,文件名为 Algebra.java。罗杰,不,事实上,如果我导入 maxim.algebra.*,则根本找不到包及其类。使用 import algebra.* 可以看到该类。
-
这里有些不一致。你说你从
maxim目录运行javac maxim\main\main.java。那应该行不通。你的意思是javac main\main.java和maxim作为当前目录吗?如果是,上一级目录,在 main.java 中导入maxim.algebra.*并运行javac maxim\main\main.java。