时间:2023-04-14
标签: #Java #接口 #面向对象 #抽象概念
我注意到一件事,在我们学习 onjava8这本书的时候,里面是不是的会提及接口(interface)这一概念,但是有的时候似乎并不是说的关键字 interface,而是一种抽象概念的接口—用以表达的是一个类对外开放的那些实现的方,是一种基于 java 面向对象思想而设计的一种抽象层面,即,对外提供接口而不暴露具体实现的这么一种思想,的表述。
你的理解是正确的。在 Java 中,当我们谈论接口(interface)时,它可能有两层含义。一种是具体的关键字 interface
,它用于创建一种特殊的类型,这种类型只包含抽象方法和静态常量。另一种含义是抽象概念上的接口,它表示一个类对外暴露的方法和属性,用于与其他类进行交互。
抽象概念上的接口强调了面向对象编程的一种思想:封装。封装是指将实现细节隐藏起来,仅向外界提供有限的、可控的访问途径。这样,外部代码只需要关注类的接口(即暴露的方法和属性),而不需要了解其内部实现。这使得我们可以在不影响其他代码的情况下,随时更改类的内部实现。
Java的关键字 interface
实际上也是基于这种抽象概念的接口思想设计的。通过使用关键字 interface
创建的接口类型,我们可以定义一组方法,表示一种规范或协议,实现该接口的类需要遵循这个规范。这样,我们就可以基于接口而非具体实现编写代码,从而提高了代码的灵活性和可扩展性。
总之,Java中的接口(interface)既可以表示一种具体的类型(关键字 interface
),也可以表示一种抽象概念(类对外暴露的方法和属性)。这两种含义都是基于面向对象编程的封装思想而设计的,旨在提高代码的可维护性和可扩展性。