`

java接口的作用

    博客分类:
  • java
阅读更多


接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点,什么是抽象?抽象就是"抽去像的部分"。

使用接口解决问题

问题:现在我们要写个连接数据库的类给用户使用,有两个函数:一个返回Connection对象,另一个是关闭数据库,close(),一般的解决方法是:给每个数据库写一个类,再根据用户使用的数据库决定使用具体的类。

好的,我们看看这样有什么不好之处:

(1).首先每个类都要有重复的代码,造成代码的膨胀;

(2).其次最重要的是我们并不知道用户使用什么数据库,可能是Oracle,可能是mysql,也可能是sqlserver等,这个问题很难解决。

解决方案:

首先我们定义接口:


public interface DataBase
  {
  java.sql.Connection openDB(String url,String user,String password);
  void close();
  }


我们定义了两个方法,openDB返回Connection对象,close()关闭数据库;

具体的实现在实现DataBase接口的类中;

下面看看实现:


import java.sql.*;
  public class Mysql implements DataBase
  {
  private String url=”jdbc:mysql:localhost:3306/test”;
  private String user=”root”;
  private String password=””;
  private Connection conn;
  public Connection openDB(url,user,password)
  {
    //连接数据库的代码
  }

  public void close()
  {
    //关闭数据库
  }
  }


类mysql实现了DataBase接口,下面还有实现了DataBase接口的oraclesql等类;

这些类都归于DataBase接口了,如何在应用程序中使用呢?

我们要定义DataBase对象 myDB,通过myDB来操纵数据库,可以不要分清是哪个类了。

另外的问题:Java中不许我们实例化接口,如DataBase myDB=new DataBase();

我们只能myDB=new Mysql()或者myDB=new Oracle()。这样我们还必须指定实例化哪个对象,好像前面的努力都白费了啊!!那怎么办呢,我们需要一个工厂:


public class DBFactory
  {
  public static DataBase Connection getConn()
  {
    Return(new Mysql());
  }
  }


实例化的代码变成:myDB=DBFactory.getConn();

整个过程中接口不负责任何具体操作,其他的程序要连接数据库的话,只需要构造一个DB对象就OK,而不管工厂类如何变化。这就是接口的意义----抽象。
分享到:
评论

相关推荐

    java中接口的作用

    Java 中接口的作用 Java 中的接口是一种抽象的概念,它定义了一组方法的集合,但不提供实现。接口的主要作用是提供一种规范,以便实现类来实现这些方法。接口的作用主要体现在以下几个方面: 多重继承:Java 中的...

    Java接口.docx

    Java 接口是一种抽象类型,用于定义一组方法的规范和约束形式,它的主要作用是提高程序的复用性、可维护性和可扩展性。下面我们将详细讨论 Java 接口的定义、实现和使用。 一、定义 Java 接口 定义 Java 接口需要...

    JAVA 接口用法 PPT

    Java接口是一种重要的编程概念,它是Java语言中定义多个类共享行为的一种方式。接口与抽象类相似,都用于定义类的公共属性,但是接口更偏向于一种“纯”抽象,它只包含方法签名(方法名、参数列表和返回类型),而不...

    Java中interface接口的作用

    下面将详细讲解Java接口的作用以及其在实际开发中的应用。 首先,接口作为契约,定义了类必须遵循的公共行为。通过实现一个或多个接口,一个类可以声明它支持哪些操作,而无需关心具体的实现细节。这种解耦使得代码...

    java包与接口实验报告

    #### 二、Java接口的作用及使用 - **接口的作用**:接口是一种抽象类型,它定义了一组方法签名但不提供具体的实现。通过实现接口,类可以声明自己支持某些行为,而具体实现则由实现该接口的类来完成。 - **接口的...

    Java 接口 内部类

    Java接口和内部类是Java语言中两种重要的抽象机制,它们在软件设计中起着关键作用。接口主要用于定义对象之间的交互规范,而内部类则提供了一种封装和隐藏类的机制,使得类的设计更加灵活。 首先,接口是一个合约,...

    java接口的不同使用

    本文将深入探讨Java接口的使用方法,帮助你理解其核心特性、作用以及如何在实际编程中灵活运用。 1. **接口的定义与特点** - 接口中所有的方法默认都是抽象的(abstract)和公开的(public),不需要声明这两个...

    java接口使用实例源码

    总结一下,Java接口在软件设计中起着至关重要的作用,它们定义了行为规范,促进代码的可扩展性和灵活性。通过研究提供的源码实例,开发者能够更好地掌握接口的使用,包括声明、实现、默认方法和静态方法等特性,从而...

    java接口与实现接口的类实验报告.pdf

    1. Java接口的概念及其作用,包括接口中的常量定义和抽象方法。 2. 实现接口的类需要实现接口中所有的抽象方法。 3. `Comparator<T>`接口的使用,以及如何自定义比较规则。 4. `Arrays.sort()`方法的运用,结合...

    使用java请求json接口数据

    这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,...

    java接口文档规范

    ### Java接口文档规范 在软件开发过程中,接口文档起着至关重要的作用,它不仅帮助团队成员之间更好地沟通,还能够确保各个系统之间的交互顺畅无阻。本文档将详细介绍一个具体的Java接口示例,并对该接口的各项内容...

    Java接口和内部类教程

    ### Java接口和内部类教程 #### 3.1 接口 ##### 3.1.1 接口概念的引入 在计算机编程中,接口扮演着至关重要的角色,尤其是在Java这样的面向对象编程语言中。接口可以被视为一种规范或合同,规定了类必须遵循的...

    Java 语言程序设计:第5章接口多态.ppt

    Java 语言程序设计第 5 章接口多态 本章主要讲解 Java 语言程序设计中接口和多态的概念、语法和应用。接口是 Java 语言中的一种抽象机制,它提供了一种定义类之间的“协议”的方式,允许类之间实现多继承,同时免除...

    Java 接口和抽象类区别

    总结来说,Java接口和抽象类都是软件设计中的重要工具,它们在EJB等企业级应用中发挥着关键作用。理解它们的区别和用法,有助于编写更高效、可维护的代码,并且能更好地利用Java的面向对象特性。通过深入学习EJB的...

    支付宝java确认接口

    首先,我们需要理解支付宝确认接口的基本作用。这个接口通常指的是商家在完成商品发货后,通过调用支付宝的API来通知支付宝交易状态已经发生改变,例如货物已发出。这一步骤对买家和卖家都至关重要,因为它确保了...

    java接口与内部类教学PPT

    接口-作用 3.接口-定义方式 4.接口-实现 5.接口-与抽象类之区别 6.接口-应用示例(设计模式) 7.内部类-简介 8.内部类-作用 9.内部类-特殊语法规则 10.内部类-安全性 11.内部类...

    Java API文档.docx

    Java API文档是Java开发者不可或缺的参考资料,它详细记录了Java编程语言的标准库,包括类、接口、方法和属性等核心元素。这些文档不仅提供技术规格,还包含使用示例,帮助程序员理解和应用Java的各类功能。 1. **...

    Java语言的接口与抽象类

    4. 多继承:Java接口支持多继承,一个接口可以继承多个父接口,实现接口的组合和扩展。 5. 实现:实现接口的类必须实现接口中声明的所有方法,否则这个类也必须被声明为抽象类。 其次,抽象类(Abstract Class)是...

    网银在线支付接口代码包括(.net,java,asp接口等)

    2. **Java接口**:Java以其跨平台的特性在金融领域广泛应用。Java接口通常基于Java Servlet或Spring框架实现,通过HTTP Servlet或RESTful API与银行系统交互。Java代码可能包含SSL/TLS安全通信、签名验证、数据库...

Global site tag (gtag.js) - Google Analytics