抽象类
场景:接口与抽象类差别
接口与抽象类区别
接口与抽象类区别
语法区别
(1)接口只是方法和属性定义;抽象类可以包括定义与实现。
(2)接口属性默认 public static final , 方法默认是 abstract ; 抽象类中无此限制。
(3)子类可以implements多个接口;子类只可以extends一个抽象类。
设计思想区别
(1)从前面抽象类的具体实现类的实现方式可以看出,其实在Java中,抽象类和具体实现类之间是一种继承关系,也就是说如果采用抽象类的
方式,则父类和子类在概念上应该是相同的,但接口却不一样,如果采用接口的方式,则父类和子类在概念上不要求相同,接口只是抽取相互
之间没有关系的类的共同特征,而不去关注类之间的关系,它可以使没有层次关系的类具有相同的行为。因此,可以这样说:抽象类是对一组
具有相同属性和方法的逻辑上有关系的事物的一种抽象,而接口则是对一组具有相同属性和方法的逻辑上不相关的事物的一种抽象。
(2)抽象类表示的是"is a"关系,接口表示的是"like a"关系
再就是关注一下这位朋友写的博文。
http://seawavenews.iteye.com/blog/312668