【问题标题】:How can I have 2 files of the same name in an eclipse project but in 2 different sub-folders?如何在 Eclipse 项目中拥有 2 个同名文件但在 2 个不同的子文件夹中?
【发布时间】:2013-02-04 19:02:33
【问题描述】:

现在我有这样的设置:

...\lab18\18a\18a.java

...\lab18\18a\monster.java

...\lab18\18b\18b.java

...\lab18\18b\monster.java

问题是 18a 和 18b 子文件夹中的 2 个“monster.java”文件,有没有办法保持这些名称相同但不会导致 18b、18c 中的“monster.java”出现错误,等子文件夹? eclipse 指出的错误是 Monster 已经定义为引用 18a 文件夹中的 .java 文件。

这是我所指内容的屏幕截图:

以下是 Windows 资源管理器中文件和文件夹组织方式的屏幕截图:

【问题讨论】:

  • 我明白了:您想在同一个 java 文件中引用两个“怪物”类?
  • 我想引用位于 18a 文件夹中的“monster.java”文件,只有“18a.java”文件和 18b 文件夹中的“monster.java”文件,只有“18b” .java”文件。希望能解决这个问题...
  • 引用是否意味着您要导入它们?
  • 看看我上传的屏幕截图是否有助于解决我想要问的问题。并且引用并不意味着导入,这只是我在心理上查看每个文件夹中的文件相互访问的方式
  • 无论你做什么,在同一个项目的同一个包里有两个同名的类是不行的。这三个“相同”中的任何一个都必须消失。

标签: java eclipse subdirectory


【解决方案1】:

同一个源文件夹,两个包:


Java 类中的包声明

-> 相同的项目,相同的源文件夹,不同的包,相同的类名。

【讨论】:

  • 每个 18 文件夹(即 18a、18b)已经是它自己的源文件夹我相信所以如果每个 18 文件夹都有一个包,即使它是默认的,也应该没有问题,对吧?您的回答是否暗示每个Monster.java 文件中的内容不同?
  • 每个项目应该只有一个 src 文件夹,每个源文件夹应该只有几个包,每个包应该只有几个类。如果您不需要不同的 Monser 类,只需制作一个并将其放在包树中的上一级。比在每个 Lab18 类中导入该类。
  • 我确实需要不同的怪物类
  • 如果它们被命名为不同的名字,或者在这种情况下更好,放在不同的包中,如上所示。
  • 如果你的名字都一样,然后把它们放在同一个包里,怎么会有人知道你指的是哪个类...?
【解决方案2】:

您已将它们放入两个不同源文件夹中的同一个包(默认包)中。唯一能让两个类同名的方法是它们位于不同的包中。

例如,对于lab18 one,将其放入名为lab 18a 的子文件夹中,并将lab18b 放入名为lab18b 的子文件夹中

lab18_oop_interfaces
  lab18a
    lab18a
      Lab18a.java
      Monster.java
  lab18b
    lab18b
      Lab18b.java
      Monster.java

或者,将两个子文件夹放入一个 src 文件夹并将其标记为源文件夹:

lab18_oop_interfaces
  src
    lab18a
      Lab18a.java
      Monster.java
    lab18b
      Lab18b.java
      Monster.java

【讨论】:

  • 当我使用lab18_oop_interfaces文件夹在eclipse中创建java项目时自动为18a、18b、18c等制作了默认包。
  • 文件右击,Refactor -> Move (I think ),你可以选择另一个包(即lab18a / lab18b)
猜你喜欢
  • 2018-09-14
  • 2014-05-08
  • 1970-01-01
  • 2011-08-02
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-14
相关资源
最近更新 更多