我写了一个分数计算器项目。我正在尝试编写乘法方法。如果我想将它作为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
答案 0 :(得分:0)
错误:num无法解析或不是字段
f
是FractionInterface
类型的引用。您无法通过接口引用访问类字段;在访问其f
和Fraction
字段之前,您需要向num
转发den
。
继续前进,secondFraction
在函数体中没有使用。