java中子类实现了接口,创建对象为什么还要写成接口对象名 =new 类名

java中子类实现了接口,创建对象为什么还要写成接口对象名 =new 类名?

其实,就你现在bai看到的而言,用A a = new A(); 更好。
当你看到通du过配置文件进行注入的时候就会明zhi白了
比如当我用到这个接口的时候我希望用我自己的实现,而不是用你的实现,
那么我就要在代码中找到 B,才能在后面写上 new C();
如果原来就是用的A ,我不就找不到了么?
当然实际过程中不是人找的,人只要配置配置文件就好了,代码的编译过程会自动的跳转到你配置的那个实现类上。但是如果这个接口一辈子只有一个实现,那接口没有任何存在的必要,接口的本身就是为了多实现而存在的。

原文地址:https://www.cnblogs.com/mitoris/p/14044058.html