Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java包如何访问上述文件夹中的类_Java - Fatal编程技术网

Java包如何访问上述文件夹中的类

Java包如何访问上述文件夹中的类,java,Java,以下是我的目录的外观: practice(folder) GraphTester.java graph(folder) Digraph.java algorithm(folder) TopologicalSort.java 我想使用graph.Digraph和graph.algorithm.TopologicalSortfromGraphTester.java 我尝试的是: package graph; pub

以下是我的目录的外观:

practice(folder)
    GraphTester.java
    graph(folder)
         Digraph.java
         algorithm(folder)
               TopologicalSort.java
我想使用
graph.Digraph
graph.algorithm.TopologicalSort
from
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
}

我更新了上面的目录。我的意图是将
GraphTester.java
用作外部类,而不是将其与包
graph
graph.algorithm
关联。但是,把它放在
practice
文件夹下似乎是问题的根源

Put
import practice.graph.Digraph
TopologicalSort.java
中的包声明下


确保
TopologicalSort
的包声明为
package practice.graph.algorithm,它必须与目录结构匹配。

Put
import practice.graph.Digraph
TopologicalSort.java
中的包声明下

确保
TopologicalSort
的包声明为
package practice.graph.algorithm,它必须与目录结构匹配。

添加导入语句

导入practice.graph.Digraph

导入实践.graph.algorithm.TopologicalSort

添加导入语句

导入practice.graph.Digraph

导入实践.graph.algorithm.TopologicalSort

package语句用于创建包

为了使用软件包,您需要在package语句下使用import starement,后跟要使用的软件包的名称

您还可以“导入内联”包,只是在不导入的情况下使用类或接口的一种方法是在使用它时写入完整路径

graph.algorithm.TopologicalSort ts = new graph.algorithm.TopologicalSort();
您可以阅读文档

package语句用于创建包

为了使用软件包,您需要在package语句下使用import starement,后跟要使用的软件包的名称

您还可以“导入内联”包,只是在不导入的情况下使用类或接口的一种方法是在使用它时写入完整路径

graph.algorithm.TopologicalSort ts = new graph.algorithm.TopologicalSort();

您可以阅读文档

您需要导入它。您也可以使用完全限定名引用它,即
图形。有向图
您使用的是IDE吗?您可能需要考虑这样做,因为它们是针对这些问题设计的。您需要<代码>导入< /代码>它。您也可以使用完全限定的名称来引用它,即<代码>图形。Digraph <代码>:您使用IDE吗?你可能想考虑这样做,因为它们是针对这些问题设计的,没有一个是有效的。我试着把
打包成graph.algorithm;导入图。有向图
包图;导入图。有向图在my
TopologicalSort.java
中,但仍然得到
错误:找不到symbol
@Margoeasham整个目录结构是什么样子的?源根在哪里?似乎您有一个顶级目录,我们无法在您的问题中看到?应该在package和import语句前面加前缀。例如,
GraphTester
所在文件夹的名称是什么?请修改您的帖子,以便我们可以看到错误(线条和完整尺寸)。@KErlandsson我更新了上面的帖子。是的,确实有另一个文件夹包含
GraphTester.java
。因此,它似乎会使
GraphTester.java
成为包的一部分;我的意图是将其作为一个与包
graph
graph.algorithm
@margoeasham无关的用户类。我更新了答案以反映目录结构(假设您的源根目录比
practice
高一级。所有这些都不起作用。我尝试将
包graph.algorithm;导入graph.Digraph;
包graph;导入graph.Digraph;
放在我的
TopologicalSort.java
中,但仍然得到
错误:找不到符号
@margoeasham您的整个目录结构看起来像,源根在哪里?似乎您有一个顶级目录,我们在您的问题中看不到它?该目录应该在package和import语句前面加前缀。例如,
GraphTester
所在的文件夹的名称是什么?修改您的帖子,以便我们可以看到错误所在(线条和全尺寸)请。@KErlandsson我更新了我上面的帖子。是的,确实有另一个文件夹包含
GraphTester.java
。因此它似乎会使
GraphTester.java
成为包的一部分;我的意图是将其作为一个与包
graph
graph.algorithm
@Margoeasham I u无关的用户类更新了我的答案,以反映目录结构(假设您的源根目录比
practice
高一级)。