2、Java两大抽象类型(接口、抽象类)

    技术2026-03-05  7

    接口

    接口:定义规范,标准.(例如javax.sql.DataSource)

    解耦(对象之间存在耦合时尽量耦合与接口):解耦并不是没有耦合扩展(一个接口可以有很多不同实现类,例如List)

    接口的作用是指定了系统各模块间遵循的标准,体现的是一种规范,因此,接口一旦被定义之后就不应该轻易改变,一旦改变会对整个系统造成影响

    面向接口编程 方法的形参或返回值的类型可以为接口,字段可以为接口,即为面向接口的编程。 接口变量和类变量引用的实例对象的范围不一样,面向接口的编程比面向类的编程,耦合少、可维护、可扩展

    在设计类时只要可能/可行,就应该使用接口而不是类作为类型进行以下声明: 1、 方法形参的类型 2、 局部变量的类型是接口类型 3、(私有)实例字段的类型是接口类型 4、 静态字段的类型是接口类型 5、 方法返回值的类型是接口类型

    面向接口编程的优点: 1) 面向接口编程,接口可以被多个不同继承结构中的类来实现。接口类型的形参可以引用不同继承结构中的实现类的实例对象。(面向类编程,基类可以被一个相同继承结构中的类来实现。基类型的形参只可以引用相同继承结构中的派生类的实例对象。并且需要强类型转换) 2) 面向接口编程,编译时接口方法调用代码可以和类完全解耦和(代码中不出现类)。接口变量调用的是接口的方法,而类变量调用的是类的方法。

    参考文档 1、https://blog.csdn.net/qq_42322103/article/details/89419713

    抽象类

    抽象类:(对标准的部分共性做实现,特性交给子类实现)

    定义模板方法(封装某个操作的具体步骤-业务共性),特性交给子类实现.不允许外界直接构建对象(当然此类中可以不存在抽象方法)

    参考文档 1、https://blog.csdn.net/sunhuaqiang1/article/details/52004454

    接口是行为的规范,抽象类是属性的抽象

    Processed: 0.016, SQL: 9