在 Java 中,当在一个类中使用多个具有相同名称的类时,您是否应该始终完全限定这些类的所有用途?例如:
org.foo.ClassA;
gov.bar.ClassA;
在更具体的情况下,其中一个类在您的代码库中非常常见,是否可以只完全限定不寻常的类?例如,如果我为 gov.bar 工作,但从 org.foo 的库中添加代码?
在 Java 中,当在一个类中使用多个具有相同名称的类时,您是否应该始终完全限定这些类的所有用途?例如:
org.foo.ClassA;
gov.bar.ClassA;
在更具体的情况下,其中一个类在您的代码库中非常常见,是否可以只完全限定不寻常的类?例如,如果我为 gov.bar 工作,但从 org.foo 的库中添加代码?
首先,尽可能避免这种情况。这是开发人员普遍感到沮丧的根源。(java.awt.List
还有java.util.List
人吗?)
在无法避免的情况下,最好在使用它们的类文件中完全限定它们。很有可能,这是一个罕见的情况,两者都在同一个文件中。
您也许可以使用泛型来有效地重命名类。下面为我编译。如果具有相同名称的类不是通用的,则效果最好。
class TestIt < UtilList extends java . util . List , AWTList extends java . awt . List >
{
public void run ( UtilList utilList , AWTList awtList )
{
}
}
我想最重要的问题是“其他在代码库上工作的人期望什么?”。使用众所周知的编码标准是最好的方法。
如果您不知道谁必须维护代码库中的代码,那么完全限定两者可能是最清晰的方法。