抽象类与接口的不同:
-
实现方法不同
抽象类是一个类,可以包含属性,方法,抽象方法。子类必须实现抽象类中的抽象方法才能被实例化。
接口是一组纯抽象方法的集合,比抽象类更加存粹。
-
继承方式不同
子类继承抽象类时,必须使用关键字extends,并且只能继承一个抽象类。抽象类可以包含非抽象方法的实现,子类可以直接使用这些方法,不必重新实现。
子类实现接口时,必须使用关键字implements,可以实现多个接口。
-
目的不同
抽象类为了代码的复用性和扩展性。抽象类提供了一些基本的方法实现,但又有一些方法需要子类实现,在减少代码重复的同时又保证了代码的灵活性。
接口主要目的是为了实现代码的规范性和多态性。通过接口可以将不同的类的对象看做是同一个类型,这样可以在不同的场合使用相同的代码来处理不同的对象,提高了代码的灵活性和可重用性。