Java类调用两个具有相同类和方法名称的jars

问题描述 投票:0回答:1

我有一个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 
  }
}

}

对此专家的任何建议

java
1个回答
1
投票

如果简单名称相同但程序包名称不同,则为简单起见,您应该导入一个并完全将每个引用完全等同于另一个,甚至完全将所有引用完全等同:]

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)。导入仅用于编译器。

© www.soinside.com 2019 - 2024. All rights reserved.