在Eclipse IDE的同一Java项目中能否存在同名类?如何创建?
在Eclipse的同一个Java项目中允许存在同名类吗?
当然可以!但有个关键前提:这两个同名类必须放在不同的包(package)下。
Java中识别类的核心是「全限定类名」——也就是「包名 + 类名」的组合。只要包名不一样,哪怕类名完全相同,它们在JVM眼里就是两个完全独立的类,不会产生任何冲突。反过来,如果在同一个包下尝试创建同名类,Eclipse会直接抛出“Type already exists”的错误,这是Java语法规则明确禁止的。
如何在同一Java项目内创建两个同名类?
按照下面的步骤操作就能轻松实现:
- 打开你的Eclipse Java项目,找到
src目录,右键点击它,选择「New」→「Package」,输入第一个包的名称(比如com.myapp.module1),点击「Finish」完成创建 - 进入刚创建的包,右键点击它,选择「New」→「Class」,输入类名(比如
User),点击「Finish」,这样就得到了第一个同名类 - 回到
src目录,再次右键选择「New」→「Package」,创建第二个不同的包(比如com.myapp.module2),完成创建 - 进入第二个包,同样右键选择「New」→「Class」,输入和之前完全一样的类名(比如
User),点击「Finish」
这时候你会发现,Eclipse完全不会报错,两个User类可以正常存在和使用。在代码中调用它们时,你需要通过全限定类名区分,或者通过不同的import语句来导入对应的类。
内容的提问来源于stack exchange,提问作者Bikesh
相关产品推荐
相关产品推荐

