它们的不同点包括:
1. 接口所有的方法隐含的都是抽象,而抽象类的方法可抽象和非抽象。
2. 一个类可以实现很多接口,但是只能继承一个抽象类。
3. 一个类实现一个接口时必须实现接口声明的所有方法,而一个类继承抽象类则只需要实现其抽象类的抽象方法即可。
4. 接口的成员变量是常量,其默认修饰符是public static final;成员方法是抽象方法,默认修饰符是 public abstract。
5. 接口和抽象类都是不可被实例化的,但抽象类它的main方法可以被调用。
6. 接口只能用public修饰,而抽象类可以修饰符任何一种。
7. 优先使用接口,尽量少用抽象类。
原文:http://www.cnblogs.com/suerfly/p/6542631.html