Java接口的简单理解和总结

1.抽象层次:普通类 -> 抽象类 -> 接口

      普通类:就是我们常用的类;

      抽象类:专门用来被子类继承的,主要是为了符合现实世界的规律

                如: Animal类:(每个现实的对象都有类与它相对于,但反之不然,有些代码类在现实中就不存在,因为动物只是一类物体的总称,没有叫做动物的个体)

                所以,抽象类与它的子类们,可以理解为一个家族,并且它们都有很多相同的属性

      接口:可以实现不相关类的相同行为,而不需要考虑这些类的层次关系。(特殊的抽象类,层级高于普通抽象类)

2.继承与实现(凡是继承用的是extends,而实现才用implements)

    2.1. 类 继承 类 (extends只能继承一个父类,单继承)          

         eg: public class Student extends Person{//此处Person为一个普通类,

                            //Java中要实现多继承就得使用接口来间接实现

              }

  2.2.  类 实现 接口(implements,一个类能实现多个接口)

         eg: public class Student implements Runnable{//此处Runnable为一个接口

              }

  2.3. 接口 继承 接口(extends,接口能够继承多个接口)

       eg: public class flyable extends Runnable,Eatable{//Runnable,Eatable此处都为接口,多个接口用逗号隔开

             }

         

  总结:1.为了表示接口的特殊性,定义时不再用class,而是改成interface(其实质还是一个类,特殊的抽象类)

          2.只有当类实现接口时才是特殊的,使用implements(实现),其他的情况一律用extends(继承)

   

原文地址:https://www.cnblogs.com/tommy-huang/p/4279721.html