Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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_Import_Directory - Fatal编程技术网

Java 从父文件夹导入包

Java 从父文件夹导入包,java,import,directory,Java,Import,Directory,我正试图将一个文件(DrawingPanel供感兴趣的人使用)从一个目录(我们称之为“项目”)导入到不同子目录中的几个Java文件中。如果不将文件单独复制到每个子目录中,这是可能的吗?您不需要复制任何文件。只需要指定正确的导入。 例如,您的项目结构是: com |_projects |_DrawingPanel.java |_subdir1 |_Panel1.java

我正试图将一个文件(DrawingPanel供感兴趣的人使用)从一个目录(我们称之为“项目”)导入到不同子目录中的几个Java文件中。如果不将文件单独复制到每个子目录中,这是可能的吗?

您不需要复制任何文件。只需要指定正确的导入。 例如,您的项目结构是:

com   
   |_projects
            |_DrawingPanel.java
            |_subdir1
                    |_Panel1.java
                    |_Panel2.java
如您所见,
DrawingPanel
位于父包中。 要将其导入到
Panel1
Panel2
类,需要添加
import com.projects.DrawingPanel发送给他们:

Panel1.java

package com.projects.subdir1;

import com.projects.DrawingPanel;

public class Panel1 {
}
package com.projects.subdir2;

import com.projects.DrawingPanel;

public class Panel2 {
}
Panel2.java

package com.projects.subdir1;

import com.projects.DrawingPanel;

public class Panel1 {
}
package com.projects.subdir2;

import com.projects.DrawingPanel;

public class Panel2 {
}

您可以阅读有关包和导入的更多信息。

使用IDE(Eclipse/IntelliJ或其他),它将为您添加正确的导入。哦!这更有意义。非常感谢!使用目录引用(“com.projects.subdir1”)需要走多远?它告诉我,包DNE.在包中,您需要指定该Java文件所在的目录。例如,
Panel1.java
位于
com/projects/subdir1
目录中,这就是为什么它的包将是
com.projects.subdir1
。我是否还需要将package语句添加到DrawingPanel的顶部?每个java类都必须包含一个package语句,该语句指示它所在的目录,因此,是的,您需要将它添加到Java类的每个类中。