"抽象类"为"abstract class",里面的method可以有实现了的,,
而"接口"为"interface",它比"abstract"更高一层,里面method是纯声明,没有任何实现.而且interface的一个很重要的用途是可以用它来实现c++中的多重继承机制(java是单根继承体系),比如一个derived class只可以extends一个based class却可以implements多个interface......不知我这样说对不对
that are designed for different purposes, hence
having different merits.
atstract class has been defined in language C++ already,
while interface was introduced later (in VC?).
In Java, interface can be used to implement multi-inherence
as said in previous email. It should be used to model
behavor and it carries no implementation at all.
Hence it can be implemented by any classes.
Abstract class is used in situations where you have
common behavors shared by multiple sub-classes. Hence
its use is very limited.
interface 则更多的只是向外界表达一种样子,从这个角度上来讲,它的层次比abstract class要高一层,所以其通用性更好些。