有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中,如何将接口的实现作为变量传递给方法?

我们有一个接口Math

我们有两个Math的实现(比如称为Math1Math2)。项目的一小部分是能够在两者之间切换

在一个由我们的讲师提供的课程(比如称为ClassName)中,我们有:

public static int evaluate(Math impl)

我有:

ClassName.evaluate(Math1);

它说它找不到符号。我试着用引号括起来,但那是一个字符串。我试着用谷歌搜索一些东西,但是我没有找到任何有用的东西(也许我只是在搜索错误的东西)。这些文件在同一个包中

如何传递接口实现


共 (1) 个答案

  1. # 1 楼答案

    传递的是类名,而不是类实例

    试试这个:

    // Evaluate with Math1.
    Math m1 = new Math1();
    ClassName.evaluate(m1);
    
    // Evaluate with Math2.
    Math m2 = new Math2();
    ClassName.evaluate(m2);