[下面是结合实际开发中的一些问题和我自己对接口的理解做个总结,我们主要从下面几个问题开始:
1. 什么是接口
2. 接口解决什么问题
3. 如果没有接口怎么解决
4. 在开发中如何正确和更好的应用
5. 接口不能做什么 (缺点)]
6. 现在使用中的一些问题
[1. 1.关于接口的理解。(这段话是我在网上看到的感觉说的很有道理)
接口从更深层次的理解,应是定义(规范,约束,有一定通用性)与实现(名实分离的原则)的分离。
我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。
接口的本身反映了系统设计人员对系统的抽象理解。
接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);
第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);
一个体有可能有多个抽象面。
抽象体与抽象面是有区别的。
]
[2.接口解决什么问题:
1.解决实现与调用分离,耦合度降低
2.多种不同实现共同协作(例如如下例子更换数据库操作)
例如:填写员工基本信息保存到数据库中,数据库用的是Mysql。 ]
//实现很简单定义员工类:
public Employee {
}
//定义接口
public IEmployeeDAO {
public int saveEmployee(Employee employee);
}
//定义EmployeeDAOImpl 类 实现IEmployeeDAO 接口
public EmployeeDAOImpl implements IEmployeeDAO {
public int saveEmployee(Employee employee);
}
//先公司将系统升级,数据改成Orcal
//我们只需将实现类更换掉就可以了 运行测试OK
3.如果没有接口怎么办
1.刚刚那个例子要更换数据库,就要重新定义EmployeeNewDAO类和saveEmployee方法。
上面的调用也要更改,工作量可想而知
4.开放中如何更好的应用
在实际的开发总如何更好的应用还在摸索和学习总,希望有看到这篇文章的人共同学习和 探讨.
5.接口不能做什么
接口不能有实现方法,有人说这是接口的缺点,但是这正是接口最高的价值,把实现封装了,接口不能new,接口可以实例子类
[6.现在工作中的一些问题
下面是我一直疑惑的一个问题,也是很多初学者相信也有类似的疑惑:
在日常的应用都是定义一个类之前先定义一个接口,之前我有几个同学问我这样定义到底是什么意思,当时怎么回答的我也不记得了,只是别人都这么用我们也这么用肯定不会错的,现在才明白对Java的基础还是不扎实,只顾着写代码,去实现功能,没有深入的理解接口的涵义。其实在实际的开发中根本没有遇到要把某个模块重新实现的情况,我们只会在原来的基础上修改那些代码。]
分享到:
相关推荐
首先,让我们深入了解Java接口的基本概念。接口是完全抽象的类,不能包含实例变量,但可以声明常量。它由一系列无实现的方法组成,这些方法默认为public abstract类型。接口通过关键字`interface`来声明,例如: ``...
总结来说,C#调用Java接口是一个相对复杂的过程,需要对Java和.NET平台都有深入的理解。使用IKVM.NET或其他类似的工具可以简化这个过程,但仍然需要注意跨语言通信中的类型映射、异常处理和性能优化等问题。实际项目...
- 定义服务接口:首先,你需要定义一个Java接口,这个接口包含了Web服务的方法。 - 实现接口:接着,创建一个类实现该接口,实现具体业务逻辑。 - 注解接口和实现类:使用`@WebService`注解标记接口,`@...
【Java接口快速开发框架——深入理解magic-api】 在IT行业中,高效的开发工具和框架对于提升开发效率至关重要。"基于Java的接口快速开发框架"正是这样一种解决方案,它借助于magic-api,让开发者能够以更简洁的方式...
让我们通过生活中的实例和给定的类文件来深入理解这一概念。 首先,接口可以比作现实世界中的合同或者规范。比如,在电脑硬件中,主板(MainBoard)需要与不同的设备(如显卡、网卡和声卡)进行通信,但并不关心...
本文将深入探讨如何在Delphi 7中调用Java接口,实现两者之间的数据传递和结果返回。 首先,理解Delphi 7调用Java接口的基础原理。这种通信通常依赖于Java的本地接口(JNI,Java Native Interface),它允许Java代码...
这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,...
飞信是中国移动推出的一款即时通讯软件,它允许...通过深入学习和实践,开发者不仅可以掌握飞信Java开发接口的使用,还能增强对Java网络编程、API设计和使用、异常处理等多方面的技能,这对个人职业发展是非常有益的。
本篇文章将深入剖析Java中的`Collection`框架,探讨其核心概念、主要接口及其实现类,以及在实际开发中如何有效地使用这些工具。 首先,我们来看`Collection`接口。它定义了集合的基本操作,如添加元素(`add()`)...
总结来说,理解和掌握Java中的接口和抽象类是成为一名优秀Java开发者的关键。选择使用哪种方式取决于具体的需求和设计目标,灵活运用它们可以帮助我们编写出更高效、更易于维护的代码。通过阅读"java中接口与抽象类...
在IT行业中,尤其是在软件开发领域,经常会涉及到不同技术的...通过阅读和分析这些代码,你可以更深入地理解如何在Java中利用迅雷的下载能力。记得在实际操作时,要遵循迅雷的开发协议,尊重版权,合法合规使用其API。
Java传真接口是Java编程语言中实现与传真设备通信的一种技术,它允许程序通过...如果你手头有`websercice(第二版)`这样的资源,那么它会是一个很好的学习和参考材料,帮助你深入理解和掌握Java环境下的传真接口开发。
本文将深入探讨Java接口的使用方法,帮助你理解其核心特性、作用以及如何在实际编程中灵活运用。 1. **接口的定义与特点** - 接口中所有的方法默认都是抽象的(abstract)和公开的(public),不需要声明这两个...
本文将深入探讨Java接口的概念、用途、与抽象类的区别,以及如何定义和使用接口。 首先,让我们回答“为什么要使用接口”。在Java中,由于类的单继承特性,一个类无法同时继承两个或更多的类。然而,有时我们需要一...
在Java开发中,上传接口是常见的...通过对这些文件的深入理解和学习,你可以掌握如何在实际项目中构建一个健壮且高效的Java上传接口。记住,理解并熟练运用这些知识对于提升你的Java开发技能和解决实际问题至关重要。
你可以下载并研究这个项目,以加深对C++调用Java接口的理解。 通过这种方式,C++和Java之间可以实现无缝通信,允许我们充分利用两种语言的优点。这种技术广泛应用于游戏开发、高性能计算、嵌入式系统等领域,使得...
在Java编程语言中,接口(Interface)是一...通过解决实际的接口使用问题,你可以深入理解这些概念,并在项目中灵活运用接口设计。在压缩包中的“接口的例子”文件中,你应该能找到更多实践示例,以巩固你的接口知识。
在本文中,我们将深入探讨Java接口的基础知识,包括接口的定义、使用、接口与抽象类的区别以及接口中的默认方法等核心知识点。 首先,接口在Java中是一个完全抽象的类型,它只包含常量定义和抽象方法声明,不包含...
本实例源码聚焦于Java接口的实际运用,旨在帮助开发者深入理解接口的工作机制和重要性。 接口在Java中扮演着合同的角色,它定义了一组方法的签名,但不提供具体实现。这使得类可以遵循接口定义的规则,而无需关注...
在Java 8引入的Stream API中,java.util.stream.Collector接口扮演着至关重要的角色。它不仅丰富了集合处理的方式,还提供了一种声明式的数据转换和汇总方法。本文将详细探讨Collector接口的工作原理、核心方法、...