关于abstract class和Interface区别,总结如下:
(1) 接口是公开的,里面不能有私有的方法或变量,而抽象类是可以有私有方法和私有变量的
(2) abstract表示一种继承关系,一个类只能使用一次继承关系,但一个类可以实现多个Interface
(3)abstract 是一个抽象类,有构造方法,Interface没有
(4)实现一个接口一定要实现里面定义的所有方法,而实现抽象类可以有选择性的重写需要用到的方法
(5)接口定义的变量默认为public static final型,必需给初值,所以实现类不能重新定义,不能改变其值,抽象类默认为friendly型,其值可以在子类中重新定义,也可以重新赋值
(6)abstract 可以有静态代码块和非静态代码块,而Interface中两者都没有