`
chaoyi
  • 浏览: 309929 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

4.接口

 
阅读更多

测试类:

 

package cn.jbit.test;

import cn.jbit.homeletter.HomeLetter;
import cn.jbit.homeletter.HomeLetterWriter;
import cn.jbit.homeletter.impl.HomeLetterImpl;

/**
 * 测试类
 * 
 * @author kyaccp
 * 
 */
public class HomeLetterTest {
	/**
	 * 程序的入口
	 * 
	 * @param args
	 *            输入参数
	 */
	public static void main(String[] args) {
		// 创建一个实现家书对象
		HomeLetter letter = new HomeLetterImpl();
		// 调用按照约定格式书写方法
		HomeLetterWriter.write(letter);

	}
}

 

接口类:

 

package cn.jbit.homeletter;

/**
 * 家书接口
 * 
 * @author kyaccp
 * 
 */
public interface HomeLetter {
	/**
	 * 书写称谓
	 */
	public void writeTitle();

	/**
	 * 书写问候
	 */
	public void writeHello();

	/**
	 * 书写内容
	 */
	public void writeBody();

	/**
	 * 书写祝福
	 */
	public void writeGreeting();

	/**
	 * 书写落款
	 */
	public void writeSelf();

}

 

package cn.jbit.homeletter;

/**
 * 家书写手
 * 
 * @author kyaccp
 * 
 */
public class HomeLetterWriter {
	/**
	 * 按照约定格式书写家书
	 * 
	 * @param letter
	 */
	public static void write(HomeLetter letter) {
		letter.writeTitle(); // 书写称谓
		letter.writeHello(); // 书写问候
		letter.writeBody(); // 书写内容
		letter.writeGreeting(); // 书写祝福
		letter.writeSelf(); // 书写落款
	}
}

 

 

实现类:

 

package cn.jbit.homeletter.impl;

import java.text.SimpleDateFormat;
import java.util.Date;

import cn.jbit.homeletter.HomeLetter;

/**
 * 实现家书接口
 * 
 * @author kyaccp
 * 
 */

public class HomeLetterImpl implements HomeLetter {

	/**
	 * 书写称谓
	 */
	public void writeTitle() {
		System.out.println("亲爱的爸爸、妈妈:");
	}

	/**
	 * 书写问候
	 */
	public void writeHello() {
		System.out.println("          你们好吗?\n");
	}

	/**
	 * 书写内容
	 */
	public void writeBody() {
		System.out.println("          我在这里挺好的。");
		System.out.println("          您二老保重身体啊!");
	}

	/**
	 * 书写祝福
	 */
	public void writeGreeting() {
		System.out.println("          此致\n敬礼");
	}

	/**
	 * 书写落款
	 */
	public void writeSelf() {
		String date = new SimpleDateFormat("yyyy年MM月dd日").format(new Date());
		System.out.println("\t\t小明\n\t" + date);

	}

}

 



 

 

接口基础知识
[修饰符] interface 接口名 extends 父接口1,父接口2,……{
    常量定义
    方法定义
}
class 类名 extends 父类名 implements 接口1,接口2,……{
    类的内容
}

说明如下。

接口和类、抽象类是一个层次的概念,命名规则相同。如果修饰符是public,则该接口在整个项目中可见。如果省略修饰符,则该接口只在当前包可见。

接口中可以定义常量,不能定义变量。接口中属性都自动用public static final修饰,即接口中属性都是全局静态常量。接口中的常量必须在定义时指定初始值。
public static final int PI=3.14;
int PI=3.14;    //在接口中,这两个定义语句效果完全相同
int PI;            //错误 !在接口中必须指定初始值,在类中会有默认值

接口中所有方法都是抽象方法。接口中方法都会自动用public abstract修饰,即接口中只有全局抽象方法。

和抽象类一样,接口同样不能实例化,接口中不能有构造方法。

接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。

一个类只能有一个直接父类,但可以通过implements实现多个接口。类必须实现接口的全部方法,否则必须定义为抽象类。类在继承父类的同时又实现了多个接口时,extends必须位于implements之前。

接口中属性都是全局静态常量,接口中方法都是全局抽象方法,接口中没有构造方法。

类只能继承一个父类,但可以实现多个接口。一个类要实现接口的全部方法,否则必须定义为抽象类。Java通过实现接口达到了多重继承的效果。

接口表示一种约定,接口表示一种能力,接口体现了约定和实现相分离的原则。

通过面向接口编程,可以降低代码间的耦合度,提高代码的可扩展性和可维护性。

面向接口编程意味着:开发系统时,主体构架使用接口,接口构成系统的骨架,这样就可以通过更换实现接口的类来更换系统的实现。

  • 大小: 14.5 KB
分享到:
评论

相关推荐

    PCIeM.2接口规范V1.0接口定义.pdf

    4. M.2接口的卡规格和形态因素 M.2接口支持多种类型的连接器,包括用于网络通信的WWAN插槽和用于存储的SSD插槽。文档中提供了对不同形态因素(如Type2230、Type3042、Type2230、Type2242、Type2260等)的详细规格...

    接口讲义.rar

    4. 接口与抽象类的区别:抽象类可以有部分实现,而接口只有方法签名。一个类只能继承一个抽象类,但可以实现多个接口。这使得接口在多态性方面更具优势。 5. 多态与接口:接口是实现多态的一种方式,因为它定义了一...

    支付宝网上支付接口开发文档及其代码实例

    4. 接口.................................................................................................................. 9 4.1. 外部接入接口 .............................................................

    接口抽象类正规版资料.ppt

    4. 接口的实现:在 Java 中,类可以实现多个接口,使用关键字 `implements` 来指定实现的接口。类必须实现接口的所有方法,并且方法体可以是公共的和抽象的。 5. 接口作为类型:Java 接口也是一种数据类型,可以在...

    接口技术模拟试卷题集

    4. 接口与抽象类的区别:对比接口和抽象类在功能和使用场景上的差异,以及何时选择使用接口。 5. 接口的使用场景:通过实例分析接口在事件处理、设计模式(如策略模式、适配器模式)以及微服务架构中的应用。 6. ...

    PCIe_U.2协议规范,SFF-8639 版本4.0

    4. 接口通信协议:PCIe U.2接口遵循PCIe通信协议,包括数据包的传输、错误检测与处理、链路管理等。 5. 接口描述与定义:SFF-8639标准详细描述了U.2接口的物理尺寸、引脚定义、信号分配、电气特性以及机械兼容性...

    Java习题6.docx

    4. 实现接口的类如果不能实现所有接口中待重写的方法,则必须设置为抽象类。 5. 接口可以实现多继承,即一个子接口可以同时继承多个父接口。 6. 一个类可以继承自一个父类,同时实现多个接口。 三、选择题解析 1. ...

    python+requests+pytest 接口自动化框架(6)

    4.接口关联 多种提取方式(提取多个值): 1.正则表达式和jsonpath表达式提取 extract: access_token:'"access_token":"(.*?)"' #正则 expires_in:$.expires_in #jsonpath 取值: ${access_token} 二、接口...

    winform 共享接口源码

    在.NET框架中,WinForm...4. 接口如何与其他设计模式结合使用? 5. 接口如何改善组件之间的协作? 通过深入理解和实践这些接口源码,你将能够更好地掌握在WinForm应用中有效地使用接口的技巧,从而提升你的编程技能。

    微机原理及接口技术样本.doc

    微机原理及接口技术样本 微机原理是计算机科学中的一门重要课程,涉及...4. 接口技术是研究计算机系统与外设之间的接口和通信的科学。 5. 汇编语言是低级语言,使用符号表示机器语言。 微机原理及接口技术样本.doc

    单片机原理及其接口技术(第二版).pdf

    4. 接口技术:介绍了单片机与外部设备的接口技术,包括各种接口电路的设计、AD转换和DA转换技术、驱动技术以及键盘、显示设备等外围设备的接口。 5. 单片机应用系统设计:基于前面章节的知识,深入探讨如何设计一个...

    基于 SpringCloud 实现的API接口开放平台(开发文档 + PPT + 源码 + 运行教程)

    基于 SpringCloud + react + ...4. 接口调用次数可视化分析(对接口进行限流或者处理) 5. 个人中心(可修改自己的密码、查看秘钥信息) 6. 系统权限分为用户、管理员 有完整的 MySQL 数据库文件,可直接下载使用。

    微机原理与接口技术--龚尚福 2008.pdf

    4. 接口技术的应用实例:通过具体的外围设备接口设计案例,让学习者更直观地理解接口技术的实际应用。 虽然无法提供具体文档内容的知识点,但是基于上述的通用知识点,如果存在具体的书籍章节或段落,可以进一步...

    Discuz论坛实现接口,以及结合Discuz的微信小程序.zip

    4. 接口调试:开发者可以使用如Postman这样的工具进行接口的测试和调试,了解接口的输入输出格式,以便更好地在实际应用中调用。 二、微信小程序开发 1. 创建项目:首先,你需要在微信开发者工具中创建一个新的小...

    Java SE编程入门教程 java接口(共21页).pptx

    4. 接口之间可以继承,使用`extends`关键字,实现接口的继承链。 在Java SE编程中,接口是面向对象编程的重要组成部分,广泛应用于设计模式(如策略模式、观察者模式等)以及框架设计,例如Spring框架中的`...

    mt4api接口开发手册1.0.0.21

    4.1.1 4.1.2 4.2.1 4.2.2 4.2.3 4.3.1 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.5.1 4.5.2 4.

    PC接口图解大全

    - 6针和4针接口的区别在于是否提供电源。 #### 五、RCA/Cinch 接口 **1. 功能** - RCA接口主要用于传输音频和视频信号。 - 通过同轴电缆实现多种电信号传输。 **2. 颜色标识** - 不同颜色的RCA线缆代表不同的...

    服务器接口文档,规范,完整,事例

    #### 4. 接口返回数据格式 接口返回数据通常包括状态码(status)、业务状态码(code)、返回数据(data)和消息(msg)。状态码表示接口调用的总体状态(成功或异常),业务状态码对应具体的业务逻辑状态,返回数据...

    学习Java接口的例题

    4. 接口继承:一个接口可以继承另一个接口,形成接口层次结构。 5. 静态接口方法:为接口提供静态方法,不与特定实现关联。 通过解决实际的接口使用问题,你可以深入理解这些概念,并在项目中灵活运用接口设计。在...

Global site tag (gtag.js) - Google Analytics