Java基础(接口)

在Java里用interface表示接口,用interface标识的结构体叫接口。

接口,是一组功能的抽象,或者是对一组功能的集合;
接口设计要符合单一职责原则;
接口的特征是 都是抽象方法 属性都是 常量 可以继承多个接口;
接口能做什么?
  接口指明了一个类能做什么,不能做什么。 一个接口就是描述一种能力,比如“运动员”可以作为一个接口,并且任何实现“运动员”接口的类都必须有能力实现奔跑这个动作。
  接口解决了类只能单继承的问题,类可以多实现接口,比如DemoList实现List接口能够使DemoList保证元素的顺序化,但是这个时候想让DemoList能够序列化,可以同时实现Serializable接口。这样DemoList在保证元素的顺序的同时也能够做到序列化。如果使用类的继承方式来,那么只能按照一定方式依次继承下来,如果这个时候DemoList的基类不想实现序列化,那就只能单独为DemoList去实现这个功能。
为什么要面向接口编程?
  使用接口编程,能够改善代码的结构,低耦合,高复用,扩展实现灵活,也是面向对象的一种体现。
  对于开发者来说不需要知道具体实现,只需要知道它是做什么的。

单纯的使用接口也不是在什么时候都好使,需要与抽象类搭配使用能解决一些接口无法做到的事情。举一个简单的例子:在接口里面定义一个摘取的动作,他的实现类都要去实现这个方法,苹果类可以摘取苹果,香蕉类摘取香蕉。 想一想我们可以把摘取这个方法提取出来公用,提高代码的复用,但是接口是不能有方法体的。可以在接口与实现类之间在加一层抽象类实现T,具体实现类可以继承T来达到代码复用。 普通类也能做到T的效果,但是里面还有一些方法需要具体实现类去实现独有的效果的时候,普通类无法做到让每个具体实现类都重写这些方法。

原文地址:https://www.cnblogs.com/liaobudao/p/11221744.html