/*
* 抽象类和接口的区别
* 1.成员的区别
* A.抽象类中有一般类中所有的成员,还可以有抽象方法!
* B.接口中只有静态常量和抽象方法,在接口中定义一个常量时,默认在数据类型前面加上
* public static final,并且接口中不能有非抽象的方法
* 2.关系不同
* A.类与类只能是继承关系,并且只能是单继承关系,可以是多层继承,但是不能多继承
* B.接口和接口是继承关系,可以单继承也可以多继承
* C.类和接口是实现关系,一个类实现一个或者多个接口
* 3.使用方式不同
* A.抽象类是该类共性的东西,就是都具有的,比如一个汽车类的抽象类中,定义了一个run()的方法
* 当汽车继承该抽象类时,重写run()方法,不同的汽车有不同的run方式,这是可以的;比如在抽象
* 类中定义一个autoDrive()的方法就不合适了,因为并不是每一两汽车都可以自动驾驶的
* B.可以在接口中定义一个autoDrive()方法,这是汽车功能的拓展,在某些汽车中才有的才定义成接口
*/
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)