大家好,我是IT修真院成都分院第9期的JAVA学员杨以杰,一枚正直纯洁善良的java程序员。
今天给大家分享一下,修真院官网Java任务1,深度思考中的知识点————为什么要使用Interface,而不是直接使用一个实体类来完成任务?Interface和Impl这种方式的好处是什么?
一、背景介绍
接口是什么?
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为
二、知识剖析
先来看看接口的特点:
1、Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分隔)
2、Java接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化
3、Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法
4、接口中没有构造方法,不能被实例化
5、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口
6、Java接口必须通过类来实现它的抽象方法
7、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类
8、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
9、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.
三、常见问题
为什么要使用接口?
偶然在知乎上看到的疑惑:
我定义了一个接口,但是我在继承这个接口的类中还要写接口的实现方法,那我不如直接就在这个类中写实现方法岂不是更便捷,还省去了定义接口
四、解决方案
接口的优点与作用
1. 接口是个规范
2. 接口进行了抽象
3. 实现多态.
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
提问环节:
①怎么样通过匿名内部类的方式加载集合比较器.
②大家一起做题.
答案:
PTT地址:ptteng.github.io/PPT/PPT-java/inter%E6%8E%A5%E5%8F%A3%E4%B8%80%E4%BA%9B%E7%90%86%E8%A7%A3.html#/
技能树.IT修真院“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。