谈谈Java接口

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现(接口中所有的方法都没有方法体),因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。

接口是解决java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。当一个项目需要多人合作时,我们把接口写好,相当于一种规范,那其他人就按照这个接口写自己的代码部分。

-----------为什么要用接口

* 接口被用来描述一种抽象。

因为Java不像C++支持多继承,所以java可以通过实现接口来弥补这个 缺陷
* 用于实现解耦

-----------接口与类的区别

* 接口不能用于实例化对象
* 接口没有构造方法
* 接口中所有的方法必须是抽象方法
* 接口不能包含成员变量,除了static和final关键字
接口不是被类继承了,而是要被类实现
* 接口支持多继承

---------抽象类和接口的区别

* 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口 中的方法不行。
* 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final 类型的
* 接口中不能含有静态代码块以及静态方法,而抽象类可以有。
* 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
来个栗子:

 

 然后,我们在建立一个类来实现这个接口

 

 

----------接口继承接口(感觉很神奇,很经典)

首先说说接口,接口是一种高度的抽象,里面会规定一些将要实现的行为或者只作为一种标记,如java中的Serializable接口,它比抽象类更加抽象。然后说说一说对继承的理解,继承就是泛化。在由接口组成的继承层级中,从上往下看,是由抽象到具体的过程。通过继承我们可以保留父接口中定义的行为,同时对其可以做扩展。整个继承层级,其实是类似树结构的,树的层级越深,行为就更越复杂,能做的事情就更多。上一层是对下一层共性的抽象,下层是对上层不同维度的演进。以java的集合框架为例,如下图:

-----------标记接口

最常用的继承接口是没有包含任何方法的接口。
标记接口是没有任何方法和属性的接口,仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做的一些事情。
标记接口作用:简单形象地说就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。

 

 

 

 

 

 

联系QQ邮箱:2433973080@qq.com
 
 
 
 
萨默赛特·毛姆写道:“任何一把剃刀都自有其哲学。”大约是说,无论何等微不足道的举动,只要日日坚持,从中总会产生出某些类似观念的东西来。我也衷心地想对毛姆的观点表示赞同。——村上春树
有意思
posted @ 2021-07-20 14:07  dreamw  阅读(63)  评论(0编辑  收藏  举报