具有相同名称的2个类。
public class Predictor()
{
String name;
PredictorA predictorA;
PredictorB predictorB;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public PredictorA getPredictorA() {
return predictorA;
}
public void setPredictorA (PredictorA predictorA) {
this.predictorA = predictorA;
}
public PredictorB getPredictorB() {
return predictorB;
}
public void setPredictorB(PredictorB predictorB) {
this.predictorB = predictorB;
}
}
PredictorA和PredictorB。
包预测器.version1 类Predictor,PredictorA,PredictorB。
包预测器.version2 类Predictor,PredictorA,PredictorB
使用多种方法调用Result的其他类。
import XX
public class Result()
{
public void prediction(Predictor predictor)
{
...
predictor.getPredictorA().getName();
...
}
}
我希望能够在类Result中使用包Predictor.version1的预测器和包预测器的预测器,并且使用2个类结果预测方法预测。
答案 0 :(得分:2)
导入两个具有相同名称的类然后尝试使用它们不会起作用,因为编译器可能不知道你所指的两个类中的哪一个。您必须使用至少一个类的完全限定名称,而不是导入它。
例如:
package whatever;
import predictor.version1.Predictor;
public class Result {
// Uses the Predictor from package predictor.version1 which was imported
public void prediction(Predictor p) {
// ...
}
// Use fully-qualified class name to indicate that Predictor
// from package predictor.version2 should be used
public void prediction(predictor.version2.Predictor p) {
// ...
}
}