08 为什么要有接口?接口与继承的区别?

来源:互联网 发布:上传下载文件java代码 编辑:程序博客网 时间:2024/05/30 05:42

为什么要有接口?

谈到接口,得先谈谈继承。继承是指孩子继承父母的功能。

但是有一天,孩子长大了,他们要独立了,要去找朋友了。找朋友这个功能是父母所不具有的。

解决办法一:孩子1去单独写一个找朋友的方法findFriend();但是这对父母有很多孩子,每个孩子都要去写一个findFriend()么,这样不是显的特别的啰嗦。

所以使用解决办法二:将findFriend()放入接口里,所有的孩子都可以去找朋友,接口就是另外的扩展功能,它区别于继承的共性功能。

然而,每个孩子找朋友的要求不一样,有的孩子要找漂亮点的,帅点的,有的孩子要找爱学习的,所以找朋友这个方法是非常抽象的方法。那么接口里的方法应都是抽象的,扩展功能只是为了声明孩子长大了要找朋友这件事,至于他们想找什么样的具体的朋友,这是他们重写方法后自己决定的事。

找朋友这件事非常关键,所以找朋友这个接口就显得非常关键了,这也是为什么有接口的主要原因。

 

继承与接口的区别?

继承是指的两者共性的关系。比如去逛超市

而接口是指的扩展功能,比如孩子要去找(男/女)朋友

 

代码表现一下:

 

package com.junc.test;public class Test {public static void main(String[] args) {Boy1 boy = new Boy1();boy.findBeautiful();}}abstract class Dad {public abstract void shopping();}interface FindGirlfriend {//找女朋友的接口public abstract void findBeautiful();//找漂亮的女朋友}class Boy1 extends Dad implements FindGirlfriend {public void shopping() {}public void findBeautiful() {System.out.println("找漂亮的女朋友");}}class Boy2 extends Dad implements FindGirlfriend {public void shopping() {}public void findBeautiful() {System.out.println("找漂亮的女朋友");}}



0 0
原创粉丝点击