12.3 抽象与接口的区别
接口和抽象在很多方面相似,下面列出其共同点。
❑都不能创建实例对象,因为它们都是抽象的。
❑虽然不能直接通过关键字“new”创建对象实例,但可以声明变量,通过变量指向子类或实现类的对象,来创建对象实例。
两者也有不同点,如下所示。
❑Java不支持多重继承,即一个子类只能有一个父类,但一个子类可以实现多个接口。
❑接口内不能有实例字段,只能有静态变量,抽象类可以拥有实例字段。
❑接口内方法自动设置为“public”的,抽象类中的方法必须手动声明访问控制符。