为什么要使用INTERFACE,而不是直接使用一个实体类来完成任务?INTERFACE和IMPL这种方式的好处是什么?

大家好,我是IT修真院上海分院第5期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务1中,为什么要使用INTERFACE,而不是直接使用一个实体类来完成任务?INTERFACE和IMPL这种方式的好处是什么?

一、背景介绍

在Java程序中接口类似于协议(Protocol),不是类,是对类的一组需求描述,用来明确声明行为。
声明一个接口需要用到关键字interface,而且在接口中只能包含方法标记(不包含具体的方法体)和常量(常量是用static和final限定的变量)。
接口不能实例化,只能实现。要使用接口中声明的行为必须实现这些行为。一个实现了接口的实现类,必须实现接口类中所有方法。
对象通过对象本身公开的方法定义了自身与外界互动的方式。而方法组成了对象与外部交流的接口。
通过实现一个接口使得一个类对应它承诺提供的方法更正式。
程序主要是数据以及对数据的操作。
任务一是java程序对数据库的增删查改操作。通过映射将数据库中的一行记录映射为java程序中的实体对象,进而通过Java程序中对实体对象的操作而完成对数据库中记录的操作。

二.知识剖析

接口的作用

1.重要性。在java中,abstract class和interface是支持抽象类定义的两种机制。赋予了Java面向对象的能力。

2.简单、规范性。大型项目,通过定义接口可以告诉开发人员需要实现的业务,同时限制了命名规范。

3.维护、扩展性。接口定义了功能,然后通过定义类来实现功能。这样需要使用接口的功能时就是使用这个接口去引用实现它的类。这样当接口功能需要更新时,对应功能上来讲,只需要更换引用的实现类。

4.安全、严密性。接口是实现软件松耦合的重要手段,它描述了系统对外的所有服务,而不涉及任何具体的实现细节。


扫描二维码关注公众号,回复: 1375610 查看本文章

接口格式

[public] interface 接口名 [extends 父接口名列表]

[public] [static] [final] 数据类型 属性名=常量值;

[public] [abstract] 返回值类型 方法名([形参表]);

}

三.常见问题

1.接口和抽象类的区别?
2.已经有抽象类了为什么还要使用接口?接口和抽象类的应用场景分别是什么?
3.接口多实现作用?
4.接口继承和实现接口有什么区别?
5.那你知道抽象类一般是用来干嘛的吗?
6.抽象类的运用方法?
7.一个类可以实现几个接口、继承几个抽象类?
8.一个接口只能对应一个实现类吗?
9.继承抽象类和实现接口哪个先哪个后?

四.解决方案

1.接口和抽象类的区别?

答:首先接口不是类,用interface声明,抽象类是类,用abstract声明。所以接口只能被实现,没有实例对象(用new的方式),但是可以创建一个接口对象,只不过是引用实现了接口的类的对象;而抽象类可以被实例,可以被继承。同时一个类可以实现多个接口,但是只能继承一个抽象类。

其次接口接口中只能包含抽象方法和常量,而抽象类中除了这两个元素还可以包含变量和含有方法体的方法。

2.已经有抽象类了为什么还要使用接口?接口和抽象类的应用场景分别是什么?

答:abstract class的应用场景。一句话,在既需要统一的接口,有需要实例变量或省缺的方法的情况下,就可以使用它。最常见的有:
A。定义了一组接口,但又不想强迫每个实现类都必须实现所有的接口。可以用abstract class定义一组方法体,甚至可以是空方法体,然后由子类选择自己所感兴趣的方法来覆盖。
B。某些场合下,只靠纯粹的接口不能满足类与类之间的协调,还需要类中表示状态的变量来区别不同的关系。abstract的中介作用可以很好地满足这一点。
C。规范了一组相互协调的方法,其中一些方法是共同的,与状态无关的,可以共享的,无需子类分别实现;而另一些方法却需要各个子类根据自己的特定的状态实现特定的功能。

3.接口多实现作用?

答:Java中不支持多重单继承的,有了接口就可以实现多个接口,扩展方法。同时因为接口中没有方法体,在运行调用的时候只能用实现了的方法。

4.接口继承和实现接口有什么区别?

答:接口继承,是一个接口继承另外的接口,得到的还是接口,只是子接口除了包含父接口中的方法外,还有自身的方法。

实现接口是要把接口中的方法全部实现,除此之外还可以添加类自身的方法和变量。

5.那你知道抽象类一般是用来干嘛的吗?

答:当多个类具有相同的属性和方法(相同的功能),可以通过向上抽象,得到一个抽象类存放公共的属性和抽象方法(不包含方法实现),然后需要这些属性和方法的类通过继承抽象类获取属性和方法。

6.抽象类的运用方法?

答:抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称之为抽象。只能得到继承了抽象类的对象。

7.一个类可以实现几个接口、继承几个抽象类?

答:一个类可以实现多个接口,但只能继承一个抽象类。

8.一个接口只能对应一个实现类吗?

答:接口可以有无数的实现类,主要这个类在声明的时候声明implement某个接口。接口自身对应它的实现类只有一个要求,实现接口中的所有抽象方法。

9.继承抽象类和实现接口哪个先哪个后?

答:这个暂不考虑。

五。编码实战

六、参考文献

https://www.cnblogs.com/zhaoyanjun/p/5320034.html

http://txf2004.iteye.com/blog/1730109

https://www.cnblogs.com/dz-boss/p/8427347.html

https://www.cnblogs.com/swiftma/p/5588010.html

https://blog.csdn.net/xiaoliuliu2050/article/details/61931498

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

七.更多讨论

详见视频

腾讯视频

感谢大家观看

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

猜你喜欢

转载自blog.csdn.net/weixin_40296254/article/details/79920113