有人能用简单的语言解释这个复杂的答案吗?

Kum*_*mar 2 java interface

我知道有很多关于接口已经存在的答案,但我不会问任何有关接口的问题.我只是想了解下面提到的答案.

我知道什么是抽象类和接口,有什么区别,在哪里使用它们以及如何使用它们.但是在看几个面试问题的时候,我遇到了这个问题并且以这种方式得到了解答:

"该接口使得一个类中的方法可以调用其他类的对象上的方法,而无需知道这些对象的真实类,前提是这些对象都是从实现一个或多个指定接口的类实例化的.换句话说,实现指定接口的类的对象可以作为泛型类型Object传递给其他对象的方法,而其他对象的方法可以通过首先将它们作为接口类型进行转换来调用传入对象的方法.

现在,任何人都可以用更简单的词语解释上述答案的含义吗?

Tyl*_*ler 5

这是一个例子.

如果您有以下动物界面:

interface IAnimal {
   public void eat();
}
Run Code Online (Sandbox Code Playgroud)

这由以下类实现:

class Tiger implements IAnimal {
    public void eat() {
        System.out.println("Tiger eats antelope");
    }
}

class HouseCat implements IAnimal {
    public void eat() {
        System.out.println("House Cat eats canned food");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以做这样的事情:

public void whatDoesItEat(IAnimal animal) {
    animal.eat();
}

Tiger tiger = new Tiger();
HouseCat houseCat = new HouseCat();

whatDoesItEat(tiger);
whatDoesItEat(houseCat);
Run Code Online (Sandbox Code Playgroud)

whatDoesItEat你身上你不需要担心你被传递的是什么类型的动物.您只关心每个实现IAnimal接口,以便您可以调用该eat()方法.