java8 抽象类和接口
Java 中支持通过父类或者接口的引用来指向不同的子类或实现对象,这种编程方式被称为多态。多态可以提高代码的灵活性和扩展性.
抽象类的设计理念是"已实现的部分由抽象类来完成,未实现的部分由子类来完成",在这种情况下,使用抽象类更加自然和直观。
接口的设计理念是"规范标准由接口来定义,各个实现部分由具体的实现类来完成",在这种情况下,使用接口更加符合面向对象的原则。
接口只能定义方法和常量,不能定义变量和构造方法.
抽象类可以定义属性、方法、构造方法等,并且可以有自己的实例和静态成员,可以继承其他类或实现多个接口,也可以作为其他类的基类使用
java中继承一个类,实现多个接口,但是接口是可以继承多个接口的。
接口中的方法都是默认为 public 和 abstract 的,必须在实现该接口的类中重写这些方法并提供具体的实现逻辑。
抽象类中的方法可以是 public、protected 或者默认访问级别的,可以有具体的实现或者不实现(即抽象方法),但是子类必须重写所有抽象方法才能被实例化或者使用。
在 Java 8 中,接口还可以定义具有默认实现的方法和静态方法,抽象类没有默认实现方法。
什么情况下使用抽象类或接口?https://zq99299.github.io/java-tutorial/java/iandi/abstract.html#抽象类与接口相比

浙公网安备 33010602011771号