抽象类和接口
1、一个类可以(继承)实现多个接口,但只能继承一个抽象类。
2、接口中只能定义方法名,方法参数和返回值,以及静态变量。而抽象类中可以有方法的实现,也可以定义非静态的类变量。
当需要多继承特性时,那你只能使用接口;当需要在父类中实现部分代码(通用功能)而根据不同情况某一方法有不同的实现时,那就设计为抽象类。
抽象类主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。
一个基本原则是,首先考虑使用接口。接口可以继承接口。抽象类可以实现(implements)接口,抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数。
有个通用的设计思想,如果要设计小而简练的功能块,则使用接口。如果要设计大的功能单元,则使用抽象类。