Java——漫谈接口

接口:一种标准和规范(模糊定义)

接口的诞生
假如现在是一个没有类和对象的世界,只有基本数据类型和函数的世界,当我们的数据和函数多了,维护的成本的难度也就提升了,于是我们将其中有共性的属性封装起来,类和对象就诞生了,但是还有一个问题,就是很多类有重复的方法,重新定义太浪费资源,这时候继承就诞生了。但很多时候我们完全不需要创建父类对象,只是想让子类完成不同的逻辑,这个时候抽象类就出现了。

接口的用法
⚫ 接口是用来被类实现(implements)的,实现接口的类称为实现类。实现类可以理解成所谓的子类。
⚫ 从上面可以看出,接口可以被类单实现,也可以被类多实现。

代码格式
修饰符 class 实现类 implements 接口1, 接口2, 接口3 , ... {}

接口实现的注意事项
⚫ 一个类实现接口,必须重写完全部接口的全部抽象方法,否则这个类需要定义成抽象类。

抽象类与接口的异同

   同:抽象类和接口中的方法都需要子类去实现

   异:1.接口没有成员变量,相对于抽象类抽象的更彻底

    2.一个类可以实现多个接口,而只可以继承一个直接父类

这里接口的优势就体现出来了,加入我们定义了一个Animal类,而我们用Dog和Fish两个子类去继承他,这里Fish要有一个独特的Swimming方法,但是我们这里要继承Anima得到共性方法,所以不能继承抽象类,这个时候接口就可以很好地解决这种问题,用接口去实现该类,即减少了代码的冗余,也提高了程序的可拓展性,维护起来也更加方便。

接口的注意事项
1、接口不能创建对象
2、一个类实现多个接口,多个接口中有同样的静态方法不冲突。
3、一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。
4、一个类实现了多个接口,多个接口中存在同名的默认方法,不冲突,这个类重写该方法即可。
5、一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。

posted @ 2022-04-07 18:25  Object_gl  阅读(22)  评论(0编辑  收藏  举报