我们有一个界面Math
。
我们有Math
的两个实现(比如它们被称为Math1
和Math2
)。该项目的一小部分能够在两者之间切换。
在一个班级(比如叫ClassName
)我们是由我们的教师提供的,我们有:
public static int evaluate(Math impl)
我有:
ClassName.evaluate(Math1);
它说无法找到符号。我试着把它放在引号中,但那是一个字符串。我试图谷歌的东西尝试,但我找不到任何有用的东西(也许我只是在寻找错误的东西)。这些文件位于同一个包中。
如何通过接口实现?
答案 0 :(得分:3)
您正在传递类名而不是类实例。
试试这个:
// Evaluate with Math1.
Math m1 = new Math1();
ClassName.evaluate(m1);
// Evaluate with Math2.
Math m2 = new Math2();
ClassName.evaluate(m2);