今天在写装饰器模式的例子时,使用接口和抽象类分别实现,让我对它们之间的两个区别又有了非常深刻的印象,特跟大家总结分享。
1、接口和抽象类都能拥有自己的属性,如果是public属性,都能通过类名或接口名.属性来调用,但是接口的属性必须是public static final 的,也就是它是一个公开的常量;而抽象类的属性及使用跟普通类一样;
2、抽象类除了抽象方法外还可以拥有自己的方法,但是只能通过自己调用;接口只能有抽象方法。
3、抽象类跟接口都能实现提供公共方法的功能,但是抽象类更具有类的特征,要想真正抽象类和接口的使用,建议大家以后在实现某个项目时,不妨两种方法都尝试一下,很快自己就能掌握其中的感受了。