您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
java里为什么用接口引用实现类的对象?
接口,对象,子类java里为什么用接口引用实现类的对象?
发布时间:2016-12-08加入收藏来源:互联网点击:
java里为什么用接口引用实现类的对象?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
作为一个多年的程序员,一直在用Java做开发,我觉得很有资格来回答您の这个问题。
接口在Java需要中很常见,尤其是在Spring框架中有大量的接口。
接口存在的主要意义是统一,对于调用者来说只需调用相同的方法即可。每个人都有各自不同的实现,调用者不用关心你具体的实现方法,只需关心统一的接口,这种方式可以降低使用者的使用门槛,也使程序可以轻松切换具体的实现。
这种接口方式得以实现得益于Java的多态机制。
即当有父类引用子类实例的时候,执行的是子类的方法。
要想有多大需要满足两个条件
1.子类中有重写
2.父类引用指向子类实例
回答于 2019-09-11 08:43:50
有一个很简单的例子,java.util中的类ArrayList实现了接口List则生成ArrayList对象时可用以下语句.
List list=new ArrayList();
也就是说所有实现了接口List的类,都可以用List接口来声明对象类型,然后用实体类进行实例化.这表明了接口可以用来作为类型的表述.当然,生成的对象list只能调用接口List中提供的方法.
同样的操作也可以用在父类与子类身上,例如设A类是B类的父类
则创建B类对象的时候可以用以下语句
A b=new B();
这样的用法可以大大提高编程的灵活性.
回答于 2019-09-11 08:43:50
这是java中的向上转型,实现java编程的多态。
简单的一句话讲就是父类引用指向子类对象。
上转型对象不是父类创建的对象,而是子类对象的“简化”状态,它不关心子类新增的功能,只关心子类继承和重写的功能。
当一个类有很多子类时,并且这些子类都重写了父类中的某个方法。
当使用上转型对象在调用这个方法时就可能具有多种形态。因为不同的子类在重写父类的方法时可能产生不同的行为。也就是说,不同对象的上转型对象调用同一方法可能产生不同的行为
回答于 2019-09-11 08:43:50
因为面向接口编程的这种风格被滥用了。
无论是SSH,还是SSM大家都爱先搞个接口,然后再搞实现类,美其名曰将来有新的实现方式的时候,只需要换一个实现类即可。 事实上,绝大部分项目开发出来之后,再也没有换过实现类。
回答于 2019-09-11 08:43:50
Java中使用接口引用实现类的对象主要是为了实现多态。接口是一种抽象的类型,它定义了一组方法,但不提供实现。而实现类则提供了这些方法的具体实现。因此,当我们使用接口引用实现类的对象时,可以将接口作为一种类型,来定义变量,并将实现类的对象赋值给这个变量。这样做的好处是,变量只关注实现类提供的方法,而不关心具体实现,这样就能够隐藏实现细节,提高代码的可读性和可维护性。
此外,接口能够实现多态。即一个接口可以被多个实现类实现,每个实现类可以提供不同的实现方式。这样,当我们使用接口引用实现类的对象时,可以根据实际情况选择不同的实现类,并将实现类的对象赋值给接口类型的变量。这样做的好处是,我们可以根据不同的需求来选择适当的实现类,并在运行时动态地替换实现类。这样可以提高程序的灵活性
回答于 2019-09-11 08:43:50
为了实现多态。
Person p1 = new Boy();
Person p2 = new Girl();
Person可以声明为一个接口,Boy和Girl实现了这个接口。
p1,p2 既可以是Boy也可以是Girl,只有在实例化的时候才可以知道。
回答于 2019-09-11 08:43:50
以List list = new ArrayList为例,这里前者是接口,后者是实现了该接口的对象,这里接口引用指向子类对象的方式是java中多态的体现,
上一篇:小超市摆货没人进是不是失败了?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |