在abstract class方式中, 可以有自己的数据成员,也可以有非abstarct的成员方法.
在interface方式的实现中, 只能够有静态的 不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊 形式的abstract class.
abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。也许,这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑.
abstract class表示的是"is a"关系,interface表示的是"like a"关系, 这是建立在对问题领域的理解上.
在interface方式的实现中, 只能够有静态的 不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊 形式的abstract class.
abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。也许,这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑.
abstract class表示的是"is a"关系,interface表示的是"like a"关系, 这是建立在对问题领域的理解上.