我有一个Java类,它调用两个具有相同类和方法名称的jar。我们可以这样实现吗?JVM如何知道要选择哪个正确的类
import com.jar.Myclass; // should go to jar 1
import com.jar.Myclass; // should go to jar 2
public class Test {
public void getDetails(){
if (true){
Myclass.getDetails(); // should go and look in jar 1
}else {
Myclass.getDetails(); // should go and look in jar 2
}
}
}
对此专家的任何建议
如果简单名称相同但程序包名称不同,则为简单起见,您应该导入一个并完全将每个引用完全等同于另一个,甚至完全将所有引用完全等同:]
public class Test { public void getDetails(){ if (true){ com.jar1.MyClass.getDetails(); // should go and look in jar 1 }else { com.jar2.MyClass.getDetails(); // should go and look in jar 2 } } }
[请注意,
import
除了提供简单的短名称(MyClass
)代替完全限定的(com.jar1.MyClass
)以外没有其他用途。对于运行时本身,仅存在完全限定的类名(FQCN)。导入仅用于编译器。