0

在 Java 中,当在一个类中使用多个具有相同名称的类时,您是否应该始终完全限定这些类的所有用途?例如:

org.foo.ClassA;
gov.bar.ClassA;

在更具体的情况下,其中一个类在您的代码库中非常常见,是否可以只完全限定不寻常的类?例如,如果我为 gov.bar 工作,但从 org.foo 的库中添加代码?

4

3 回答 3

3

首先,尽可能避免这种情况。这是开发人员普遍感到沮丧的根源。(java.awt.List还有java.util.List人吗?)

在无法避免的情况下,最好在使用它们的类文件中完全限定它们。很有可能,这是一个罕见的情况,两者都在同一个文件中。

于 2012-06-12T20:12:43.493 回答
1

您也许可以使用泛型来有效地重命名类。下面为我​​编译。如果具有相同名称的类不是通用的,则效果最好。

class TestIt < UtilList extends java . util . List , AWTList extends java . awt . List >
{
    public void run ( UtilList utilList , AWTList awtList )
    {
    }
}
于 2012-06-12T23:11:48.897 回答
0

我想最重要的问题是“其他在代码库上工作的人期望什么?”。使用众所周知的编码标准是最好的方法。

如果您不知道谁必须维护代码库中的代码,那么完全限定两者可能是最清晰的方法。

于 2012-06-12T20:14:33.947 回答