我正在查看 Java 代码,我看到对象已使用某个接口分配,并且该接口包含一些使用new
运算符分配对象的方法。我想不出他们为什么使用接口而不是直接使用new
运算符分配对象。例如:
Animal animal = new Animal();
或者
Animal animal = interface.allocateAnimal()
这interface
是一个接口,它的方法allocateAnimal
除了
new Animal()
.
所以最终我们在做同样的事情,但以不同的方式,那么这里有什么收获呢?
编辑1:实际上接口是在其他地方实现的。所以接口不包含任何实现代码,它只包含方法。