Java Downcasting参数参数接口

时间:2017-03-06 12:13:28

标签: java interface downcast

我写了一个分数计算器项目。我正在尝试编写乘法方法。如果我想将它作为SimpleFraction使用,我需要将参考参数FractionInterface向下转换为Fraction。 这是FractionInterface:

public interface FractionInterface {
    public void setFraction(int num, int den);

    public void simplifyFraction();

    public double toDouble();

    public FractionInterface add(FractionInterface secondFraction);

    public FractionInterface subtract(FractionInterface secondFraction);

    public FractionInterface multiply(FractionInterface secondFraction);

    public FractionInterface divide(FractionInterface secondFraction);
}

以下是方法:

public FractionInterface multiply(FractionInterface secondFraction) {
    FractionInterface f = new Fraction(num,den);
    Fraction result = new Fraction((this.num * f.num),(this.den * f.den));//error:num cannot be resolved or is not a field
    return result;
}   // end multiply

1 个答案:

答案 0 :(得分:0)

  

错误:num无法解析或不是字段

fFractionInterface类型的引用。您无法通过接口引用访问类字段;在访问其fFraction字段之前,您需要向num转发den

继续前进,secondFraction在函数体中没有使用。