这是我的目录的样子:
practice(folder)
GraphTester.java
graph(folder)
Digraph.java
algorithm(folder)
TopologicalSort.java
我想使用graph.Digraph
graph.algorithm.TopologicalSort
和GraphTester.java
我尝试的是:
package graph;
public class Digraph
{
...
}
package graph;
// package graph.algorithm; <-- also doesn't work
public class TopologicalSort
{
...
private Digraph graph; // doesn't work
}
我的问题是,如何在Digraph
内使用TopologicalSort.java
?
====更新===
我尝试了以下操作,但仍无法正常工作
package graph;
//package graph.algorithm; <-- this also didn't work
import graph.Digraph;
public class TopologicalSort
{
...
private Digraph graph;
}
我更新了目录的外观。我的目的是将GraphTester.java
用作外部类,而不是将其与包graph
和graph.algorithm
相关联。但是,似乎将它放在文件夹practice
下会导致问题。
答案 0 :(得分:2)
将import practice.graph.Digraph;
放在TopologicalSort.java
的包裹声明下。
确保TopologicalSort
的包声明为package practice.graph.algorithm;
,它必须与目录结构匹配。
答案 1 :(得分:2)
package 语句用于创建包。
要使用软件包,您需要使用软件包语句下的 import starement,然后使用您要使用的软件包的名称。
您还可以&#34;导入内联&#34;包,只是一种在没有 import 的情况下使用clases或接口的方法是在你使用它时写出完整的路径。
graph.algorithm.TopologicalSort ts = new graph.algorithm.TopologicalSort();
您可以阅读文档here
答案 2 :(得分:0)
添加import语句。
import practice.graph.Digraph;
import practice.graph.algorithm.TopologicalSort;