接口只能定义好空的方法,不能有具体的实现,但是抽象类可以有。一般的做法是这样。把接口定义好了。抽象类去实现这个接口,具体的实现类继承这个方法。这样就可以有选择性的去实现了。比如说:一个接口有10几个方法。这时候可以写一个抽象类去implement这个接口。可以去具体实现,也可以是空实现。再写一个具体的类,继承自这个抽象类,这时候就可以有针对性地选择重写的方法了。而不用去实现10几个接口方法。还有就是抽象类可以有构造器。比如有一些通用的变量或者方法,可以写在抽象类里面去。这样也可以通过这个抽象类直接使用啦。