AJPFX总结抽象类和接口的区别

AJPFX总结抽象类和接口的区别

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