首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java :导入与另一条导入语句冲突

Java :导入与另一条导入语句冲突
EN

Stack Overflow用户
提问于 2012-01-11 17:44:47
回答 3查看 42.5K关注 0票数 26

我已经将现有的Java应用程序导入到我的工作区中。我看到,具有相同名称的类存在于应用程序中的不同包中。

例如,名为"Status.java“的类在

代码语言:javascript
复制
com.tata.model.common.Status;
com.bayer.frontlayer.dao.Status;

当我试图在一个类中同时使用它们时,例如,如下所示

代码语言:javascript
复制
import com.tata.model.common.Status;
import  com.bayer.frontlayer.dao.Status;
public class Adapter
{

}

它开始在Eclipse中给出一个错误,声明

与另一个import语句冲突导入com.bayer.frontlayer.dao.Status

有没有办法在不更改类名称的情况下解决这个问题??

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-11 17:46:42

您可以在不导入它们的情况下显式使用它们,因此包含的包名称可以区分这两个包:

代码语言:javascript
复制
 //No imports required!
public class Adapter
{
     private com.tata.model.common.Status x;
     private com.bayer.frontlayer.dao.Status y;
}
票数 35
EN

Stack Overflow用户

发布于 2012-01-11 17:45:48

您可以只导入其中一个类,并对另一个类使用完全限定的名称。

例如:

代码语言:javascript
复制
import com.tata.model.common.Status;
//import  com.bayer.frontlayer.dao.Status;

class SomeClass{
    void someMethod(){
       new Status(); //  com.tata.model.common.Status
       new com.bayer.frontlayer.dao.Status(); //com.bayer.frontlayer.dao.Status
    }
}

不过,我认为在您的情况下,如果两个类都使用完全限定的名称,就不会那么令人困惑。

票数 12
EN

Stack Overflow用户

发布于 2012-01-11 17:48:55

在适用的情况下直接应用完整的类名。例如-

代码语言:javascript
复制
public class SomeClass {

public someMethod() {

com.myapp.someotherpackage.Status = "something";

com.some.other.package.Status = "otherthing";

if(com.myapp.someotherpackage.Status == com.some.other.package.Status) {

}
....
}
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8817130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档