【问题标题】:Java: Why does Import not work when trying to import a class from the src? [duplicate]Java:尝试从 src 导入类时,为什么 Import 不起作用? [复制]
【发布时间】:2020-10-01 04:39:57
【问题描述】:

我有以下代码(请注意,我发布的是照片而不是复制粘贴代码,因为项目结构也相关):

我相信这个错误是因为 Serializer 在 io 包中并且看不到 GraphEditor。但是,我尝试了很多导入,例如import GraphEditor;import src.GraphEditor;import GraphEditor.src.GraphEditor,但没有一个起作用,我认为我错过了一些东西。谢谢!

【问题讨论】:

  • 文件结构对我来说看起来不错。您是否尝试过通过命令行编译代码?似乎是项目设置问题。
  • 看起来您的 GraphEditor 位于“默认”包中,即它没有包。将它移动到一个包中,您应该可以导入它(您需要将包语句添加到文件中,并将其移动到文件系统上以实现此目的)
  • 尝试使用src/main/java作为你的类的根
  • @Turing85 我刚刚尝试用 javac GraphEditor.java 编译它,它发现了一些错误,但是在 IntelliJ 中运行它时它工作正常

标签: java import


【解决方案1】:

您不能从默认包中导入。见What's the syntax to import a class in a default package in Java?

在这里要做的最简单的事情是确保所有东西都有一个包。通常人们会为他们的项目创建一个根包来避免这个问题。

【讨论】:

    【解决方案2】:

    import 所做的只是让您在源代码中引用类而无需包名

    例如,

    import java.io.InputStream
    

    让你创建一个变量

      InputStream myInputStream;
    

    而不必使用

      java.io.InputStream myInputStream;
    

    最后,GraphEditor 似乎没有包。我忘记了是否/如何可以引用默认域空间中的其他类(即没有包),但是如果你给它一个包并将它移动到文件系统中的适当位置,这可能会解决你的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 2023-01-21
      • 2021-10-20
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      相关资源
      最近更新 更多