刘小爱v▲【自学Java】17什么叫接口?

文章图片
昨天学习了继承 , 一句话形容就是:
父亲可以有很多个儿子 , 但是儿子只能有一个亲爹 。
今天学习了接口 , 一句话形容就是:
儿子只能有一个亲爹 , 但却可以有很多个干爹 。
不得不说 , 这两句话简直生动形象地体现出了继承和接口的一些特点 。
都说学计算机 , 写代码是一件挺枯燥乏味的事情 , 现在看来也挺有趣的嘛 。
今天就让我们走进程序的世界 , 研究下什么叫接口?
一、接口的格式
还是以昨天的例子来理解接口:
动物园里有很多动物 , 分食草动物和食肉动物 , 食草动物又有小兔子等 。
如何让这些动物进入动物园呢?
制定一个动物园接口 。 代码如下:

文章图片
说明:
①定义了一个名叫动物园的接口:interface+接口名 。
②接口的抽象方法:abstract+方法名 。
③接口的默认方法:default+方法名 。
④接口的静态方法:static+方法名 。
将abstract , default , static这三个英文单词记下来 , 也就能很好地理解了 。
所以综上:
一个接口 , 里面有抽象方法 , 默认方法、静态方法 , 现在随着JDK的更新 , 接口也有私有方法、私有静态方法 。
但无论怎样 , 抽象方法是一个接口的核心 。
下面就主要说下抽象方法
二、接口的抽象方法
动物园接口创建好了 , 有新的动物要进这个动物园怎么办?
要入园?实现我的接口就好了 。
如何实现?这就要用到一个关键字implements , 其中接口可以多实现 , 也就是一个类可以实现多个接口 。
用现代的话理解就是:儿子只能有一个亲爹 , 但却可以有很多个干爹 。

文章图片
现在有一只小兔子想进入这间动物园 , 该怎么做?
①创建一个兔子类Rabbit , 实现Zoo接口 , 格式:类名+implement+接口名 。
②重写接口中的抽象方法 。
【刘小爱v▲【自学Java】17什么叫接口?】抽象方法有一个特点 , 就是你必须得重写 , 不重写就没法实现接口 。
什么意思呢?
就是一家动物园 , 要接纳新动物 , 就制定了一个规则:动物吃什么?
每个动物吃的都不同 , 就直接写了一个抽象方法eat() , 只有方法名eat , 没说具体要吃什么 。
任何动物要入园 , 就得重写eat()这个抽象方法:
你得说明你吃什么(重写我的抽象方法) , 我才能让你入园(实现我的接口);
你不说明你吃什么(不重写我的抽象方法) , 我就不让你入园(没法实现我的接口) 。

文章图片
看到没 , 这叫啥?这就叫规则 , 所以我们常说写接口是在干啥 , 是在制定规则 。
我制定了一个规则 , 具体啥内容我不写 。 任何实现类要实现我这个接口 , 就得写清楚 。
写到这 , 我突然又想起了现实生活中的一个例子:
中学时语文作文 , 就一个题目或者一则材料 , 就得写一篇不少于800字的作文 。
这写作文的过程不就相当于是实现接口的过程么?
太特么真实了……
三、接口的默认方法和静态方法
既然说接口是在制定规则 , 那抽象方法不就起到了制定规则的作用了么 , 还要默认方法和静态方法干嘛?
1.默认方法
一开始接口确实只有抽象方法 , 但是后来开发者发现 , 这个接口若是要拓展 , 增加一个抽象方法 , 所有的实现类都要重写方法 , 特繁琐 。
什么意思呢?
动物园一开始制定的规则是:你想进动物园 , 必须说明你吃什么?
推荐阅读
- 『Java』java数据结构系列——什么是数据结构
- 『Java』马云:成功人跟普通人差不多,但这三点我一定要分享给所有年轻人
- 小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
- #Java#java线程到底有多少种状态?
- 浙江之声教育部:2020年上半年全国高等教育自学考试延期至8月
- #智能手表#1、初识java-1
- [华为]有朋友问我“JAVA全栈”、“互联网架构师”和“JAVAEE”到底是什么?
- 「张艺凡」注意!上半年全国高等教育自学考试时间确定
- 『高等教育自学考试』自考本科四大师范类专业推荐,就业前景好,工资持续走高!
- 「javascript」这边走Javascript了解一下
