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(继承)