1.接口不是类,抽象类是类;接口是实现,而接口是继承
2.抽象类中不一定都是抽象方法,但是接口中的方法都是抽象方法,而且都是用public abstract修饰的抽象方法(可以省略不写,这个看标准的具体要求)
3.接口没有构造方法;抽象类有构造方法,但是构造方法的作用不是用来创建对象的,而是让子类给他的对象空间中的父类属性赋值的。
4.接口中的变量都是"特殊的变量",都是用final修饰的"常量";抽象类中可以有普通的变量
5.在实现过程中的区别,优劣:
按道理说,创建抽象类不如直接创建接口。接口好处多多,但是因为还没有做实际开发所以之后补充。但是从API中可以看到好多都是抽象的类。从这里做点总结:
接口虽然能实现"万金油",但是总不能每次都创建接口然后实现所有的方法吧,如果接口中的方法很多,那么实现类也是够呛。所以抽象类可以说是作为一个缓冲,实现了一部分的方法,这些方法使得该类有 了不同于父类但是又是与父类“同源”的方法,同时又能进行扩展,让抽象类得到自己的特征方法。因为一般抽象类都是用来多态使用(又不能创建自己的对象),所以各种意义上来说都很方便。