接口和抽象类的区别
接口和抽象类非常类似,但二者存在一下区别:
* 接口中不能包含方法的具体实现,接口中声明的方法要有继承接口的类给出具体实现。抽象类中声明的方法即可以在抽象类中具体实现,也可以只给出方法名,有抽象类的派生类完成该方法的具体实现。
* 接口支持多重继承,一个类可以同时继承多个接口,再类的定义中对多个接口声明的方法加以实现。抽象类只能实现单一的继承,即抽象类的派生类只能有一个基类,一个类可以同时继承基类和接口,此时在类的定义中类名之后先给出基类名在给出接口名。
* 接口定义中不能为接口成员指定访问修饰符,默认为public,而抽象类定义中可以为接口成员指定访问修饰符。