java中子类实现了接口,创建对象为什么还要写成接口对象名 =new 类名?
1个回答
展开全部
嗯,这是个好问题呀
其实,就你现在看到的而言,用A a = new A(); 更好。
当你看到通过配置文件进行注入的时候就会明白了
比如当我用到这个接口的时候我希望用我自己的实现,而不是用你的实现,
那么我就要在代码中找到 B,才能在后面写上 new C();
如果原来就是用的A ,我不就找不到了么?
当然实际过程中不是人找的,人只要配置配置文件就好了,代码的编译过程会自动的跳转到你配置的那个实现类上。但是如果这个接口一辈子只有一个实现,那接口没有任何存在的必要,接口的本身就是为了多实现而存在的。
其实,就你现在看到的而言,用A a = new A(); 更好。
当你看到通过配置文件进行注入的时候就会明白了
比如当我用到这个接口的时候我希望用我自己的实现,而不是用你的实现,
那么我就要在代码中找到 B,才能在后面写上 new C();
如果原来就是用的A ,我不就找不到了么?
当然实际过程中不是人找的,人只要配置配置文件就好了,代码的编译过程会自动的跳转到你配置的那个实现类上。但是如果这个接口一辈子只有一个实现,那接口没有任何存在的必要,接口的本身就是为了多实现而存在的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询