抽象类和接口的异同点
不同点
抽象类保留一般类的特性,有普通成员方法,成员变量以及抽象方法等;而接口中只有final static修饰的常量以及抽象(abstract)方法声明。抽象类中可以有构造方法;而接口中不能有构造方法。
抽象类不是具体的类,无法通过new的方式实例化,但是可以通过子类的构造方法间接实例化,也可以通过生成匿名类的方式来实现。
接口也不是具体的类,无法通过new的方式实例化,可以通过生成匿名类的方式来实现。
接口之间可以多继承抽象类之间只能单继承,抽象类可以实现多个接口;反之则不行。
相同点
抽象类和接口都不能用来创建对象(即实例化)。
(抽象类/接口)继承(抽象类/接口)时只是简单的继承,而在实现类中实例化。