使用接口的引用指向它实现类对象的好处是什么/

比如:一个Result接口,他的实现类是ResultImp
会有这样的操作:Result result = new ResultImp();
请问上面这种操作的好处是啥?请各位大神指教~

这个问题涉及面向对象三大特征中继承与多态,
先将好处把:使用子类进行时候,却不依赖于子类!
这就像工作,你这个会计所实现的计算方法不行了,辞掉即可,在聘请一个计算方法牛叉的人过来,我需要使用你们会计的算账方法,但是我却不依赖于你们某个会计,不是么?
父类 变量名=子类1实例化,这中写法称为多态,好处是:当子类1中方法过时了,或是某个方法不够完善,可以申请一个子类2继承与子类1,继承后,完善子类1或是对子类1进行扩展,此刻,写法是这样的:父类 变量名=子类2实例化
只用类去做功能是实现,是不灵活的,待程序需要升级或是进行更改,此刻,就会发现自己程序多么糟糕,,,没啥面对对象的灵活扩展

  1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承
  2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性

实际开发的时候很少会用new了
代码中写成接口 在配置文件中 给他具体的实例化对象
以后这个接口由新的实现类
到时候就可以 不用该 代码 只改配置文件 就可以完成修改

方便转换复用
例如:
Result接口有两个实现类
Result result = new ResultImp();
Result result = new ResultImp2();
我有一个方法只需要Result接口的通用方法,但是我不知道他具体是哪个实现类,我只要把参数设置为Result即可,而不用为每个实现类都写一个方法
public void fun(Result result){
//处理一些逻辑
}