当一个类实现了一个接口的时候,这个接口被用做一个类型(type),通过此类型可以引用这个类的实例。除此之外,其他目的而定义接口是不合适的。
也就是形如: Interface objct = new Class(); //的形式
例: List list1 = new ArrayList(); //List是接口,ArrayList是一个实现类
书中举了一个极端的例子——常量接口。即只有静态final域的接口,这是对接口的不良使用。
这两天,我也正在琢磨一件事情,就是在我的Framework中,作为业务JavaBean的超类而出现的抽象类,是否应该使之实现一个接口。从历史经验来看,我曾经见过使用接口的项目,也有不使用的。
作为所有业务JavaBean的超类,SuperBean中会具有一些共性的域(如错误信息等)及相应的getter/setter方法。SuperBean下还可以派生出可以支持翻页(GUI界面显示翻页)的PageBean,其中还会包含一些关于翻页(如 设置每页显示的件数,取得总页数,向后翻页 等)域和方法。在SuperBean和PageBean这两个抽象类中已经实现了这些方法。那么是否应该考虑写两个接口(SuperBeanHandler,PageableBean)来让它们去实现呢?我一直在犹豫,看起来没有这两个接口也可以,而从松耦合的观点出发,是否应该先有这两个接口,再去实现这两个抽象类呢?
看过此条,我会这么写吗?:
SuperBeanHandler staff1 = new StaffBean();
PageableBean staffList = new StaffListPageBean();
我认为这是不会的。所以,看来这里不需要使用接口。
以上这一段,其实我还是比较模糊的,本篇同时发到论坛OO版,也希望更多的朋友能够给我一些好的建议。
【Effective Java 学习笔记】系列连载专题请见:
http://tonylian.iteye.com/categories/64208
分享到:
相关推荐
为了制作一条DIY的IPOD连接线,我们需要根据接口定义选择合适的电线颜色和针脚进行连接。以下是一个简单的示例: - **RS-232连接**: - 黑色:针脚11(Serial GND) - 红色:针脚12(Serial Tx) - 蓝色:针脚13...
### 常见LVDS屏接口定义讲解 ...对于不同类型的LVDS屏,其接口定义会有差异,但基本遵循相似的原则。理解LVDS屏接口定义对于正确连接和配置显示设备至关重要,可以帮助工程师们更好地掌握并运用这项技术。
其中,20pin和24pin ATX电源接口是较为常见的两种类型。本文将详细介绍这两种电源接口的针脚定义及其工作原理。 #### 二、20pin ATX电源针脚定义 20pin ATX电源接口是在较早版本的ATX电源规范中定义的,主要应用于...
10. **NC**: 第17、第19引脚表示Not Connected(未连接),在该接口中未使用。 #### 二、标准JTAG20PIN信号定义 JTAG(Joint Test Action Group)是一种广泛使用的边界扫描测试标准,用于验证PCB上的芯片是否正确...
### Asus华硕PDA A620/A620+系列接口定义与功能解析 #### 概述 本文将详细解读Asus华硕PDA A620/A620+系列设备接口的具体定义及其功能特性,特别是针对充电、数据传输、USB以及串口的相关信息。通过这些内容的解析...
- **功能**: 第七个数据位,继续用于传输数据的一个位。 - **工作原理**: 同上,参与数据的并行传输。 #### 9. DATA7 (λ7) - **功能**: 最高有效位的数据,完成一个字节的传输。 - **工作原理**: 同上,参与数据...
### LED接口定义详解 在电子显示技术中,LED(Light Emitting Diode,发光二极管)显示屏因其亮度高、能耗低、寿命长等特点,在广告宣传、信息展示等领域得到广泛应用。LED显示屏通常通过特定的接口与驱动电路或...
本篇将详细解析VGA、DVI、HDMI以及DisplayPort四种常见接口的定义和功能。 首先,VGA(Video Graphics Array)接口是一种模拟接口,由15个针脚组成,主要用于老式显示器。其针脚定义包括: 1. 视频红色:负责红色...
- PS/2接口是一种较老的接口类型,用于连接键盘和鼠标。 **2. 特点** - 现代PS/2接口通常带有颜色标识:紫色表示键盘接口,绿色表示鼠标接口。 - 若无颜色标识,插错接口不会导致设备损坏,但会导致相应设备无法...
通过上述知识点的介绍,《Visual C++ 2005入门经典》第七章向读者展示了自定义数据类型在C++中的应用范围和深度,不仅涵盖了基础的结构体和类的定义,还深入讲解了面向对象编程的核心概念和高级特性。这对于想要深入...
第17章 委托 17.1 初识委托 17.2 用委托回调静态方法 17.3 用委托回调实例方法 17.4 委托揭秘 17.5 用委托回调许多方法(委托链) 17.5.1 C#对委托链的支持 17.5.2 取得对委托链调用的更多控制 17.6 委托定义...
在HDMI接口的物理结构上,共有19个引脚,其中1-17和19负责初步连接,第18脚的Hot Plug Detect (HPD)在连接时会检测到+5V电压,从而触发设备间的通信。当HPD变为高电平时,源设备会开始接收接收端设备的E-EDID...
无论哪种类型的PCI-E接口,都会有一些共同的引脚定义,如供电引脚、热插拔检测引脚等。 | 引脚编号 | 名称 | 描述 | |----------|--------|---------------------| | A1 | +12V | 提供+12V的电源 | | A2 | +12V | ...
文档按照不同的服务功能进行了划分,每个章节都详细介绍了相应服务的功能、应用场景、序列图、数据类型定义、接口定义、错误处理以及服务策略等内容。此外,文档还包含了一些通用的技术规定,如Web服务技术的使用、...
在描述中提到的“服务器与音频处理器网口转 25 针针脚定义”是指服务器与音频处理器之间的接口,通常使用DB25连接器,这是一种25针的D型连接器,常见于早期的计算机和外设接口。在这个特定的应用中,DB25针脚被用于...
#### 第一章 地图图层接口类型 在本章节中,我们主要介绍了一系列与地图图层相关的接口类型,包括`IMap`、`ITile`、`IVector`以及`ICustom`等。 ##### IMap接口 `IMap`接口提供了地图的基本操作方法,如加载地图、...
2. **数据类型定义**:定义了用于存储和管理的XML文档的数据模型。 3. **联系人列表管理流程和接口**: - **向联系人列表中添加联系人**:客户端发送请求,服务器处理并添加新联系人到指定列表。 - **从联系人列表...
该标准主要用于定义硬件接口,特别是针对低速串行通信场景,以延长通信距离。RS232采用的是单端传输方式,即信号只在一个方向上传输而没有返回路径。 #### 二、9针串口引脚定义 9针串口接口(通常称为DB9连接器)...
- **第17章:保留和保留管理** - 描述了可选的保留管理机制,用于实施系统管理功能。 - **第18章:范围规格** - 描述了JSON对象的范围规格结构。 - **第19章:结果规格** - 提供了一种标准化的方法来定义CDMI对象...