1.为什么,经常看这两个东西,还是不能完全融会贯通?
可能是由于没有对他们进行那么多的实践才会这样的吧
2.再回忆描述下吧
两者是Java对抽象类(此抽象类非abstract class)的实现方式
语法上,在abstract class方式中,可以有自己的数据成员,也可以有非abstarct
的成员方法,而在interface方式的实现中,只能够有静态的 不能被修改的数据成
员(也就是必须是static final的,不过在interface中一般不定义数据成员),
所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊 形式的
abstract class。abstract class在Java语言中表示的是一种继承关系,一个类只
能使用一次继承关系。但是,一个类却可以实现多个interface。也许,这是Java
语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。
设计理念上,其实abstract class表示的是"is a"关系,interface表示的是"like a"
关系。e.g door and AlarmDoor