测试类:
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通过实现接口达到了多重继承的效果。
接口表示一种约定,接口表示一种能力,接口体现了约定和实现相分离的原则。
通过面向接口编程,可以降低代码间的耦合度,提高代码的可扩展性和可维护性。
面向接口编程意味着:开发系统时,主体构架使用接口,接口构成系统的骨架,这样就可以通过更换实现接口的类来更换系统的实现。
相关推荐
4. M.2接口的卡规格和形态因素 M.2接口支持多种类型的连接器,包括用于网络通信的WWAN插槽和用于存储的SSD插槽。文档中提供了对不同形态因素(如Type2230、Type3042、Type2230、Type2242、Type2260等)的详细规格...
4. 接口与抽象类的区别:抽象类可以有部分实现,而接口只有方法签名。一个类只能继承一个抽象类,但可以实现多个接口。这使得接口在多态性方面更具优势。 5. 多态与接口:接口是实现多态的一种方式,因为它定义了一...
4. 接口.................................................................................................................. 9 4.1. 外部接入接口 .............................................................
4. 接口的实现:在 Java 中,类可以实现多个接口,使用关键字 `implements` 来指定实现的接口。类必须实现接口的所有方法,并且方法体可以是公共的和抽象的。 5. 接口作为类型:Java 接口也是一种数据类型,可以在...
4. 接口与抽象类的区别:对比接口和抽象类在功能和使用场景上的差异,以及何时选择使用接口。 5. 接口的使用场景:通过实例分析接口在事件处理、设计模式(如策略模式、适配器模式)以及微服务架构中的应用。 6. ...
4. 接口通信协议:PCIe U.2接口遵循PCIe通信协议,包括数据包的传输、错误检测与处理、链路管理等。 5. 接口描述与定义:SFF-8639标准详细描述了U.2接口的物理尺寸、引脚定义、信号分配、电气特性以及机械兼容性...
4. 实现接口的类如果不能实现所有接口中待重写的方法,则必须设置为抽象类。 5. 接口可以实现多继承,即一个子接口可以同时继承多个父接口。 6. 一个类可以继承自一个父类,同时实现多个接口。 三、选择题解析 1. ...
4.接口关联 多种提取方式(提取多个值): 1.正则表达式和jsonpath表达式提取 extract: access_token:'"access_token":"(.*?)"' #正则 expires_in:$.expires_in #jsonpath 取值: ${access_token} 二、接口...
在.NET框架中,WinForm...4. 接口如何与其他设计模式结合使用? 5. 接口如何改善组件之间的协作? 通过深入理解和实践这些接口源码,你将能够更好地掌握在WinForm应用中有效地使用接口的技巧,从而提升你的编程技能。
微机原理及接口技术样本 微机原理是计算机科学中的一门重要课程,涉及...4. 接口技术是研究计算机系统与外设之间的接口和通信的科学。 5. 汇编语言是低级语言,使用符号表示机器语言。 微机原理及接口技术样本.doc
4. 接口技术:介绍了单片机与外部设备的接口技术,包括各种接口电路的设计、AD转换和DA转换技术、驱动技术以及键盘、显示设备等外围设备的接口。 5. 单片机应用系统设计:基于前面章节的知识,深入探讨如何设计一个...
基于 SpringCloud + react + ...4. 接口调用次数可视化分析(对接口进行限流或者处理) 5. 个人中心(可修改自己的密码、查看秘钥信息) 6. 系统权限分为用户、管理员 有完整的 MySQL 数据库文件,可直接下载使用。
4. 接口技术的应用实例:通过具体的外围设备接口设计案例,让学习者更直观地理解接口技术的实际应用。 虽然无法提供具体文档内容的知识点,但是基于上述的通用知识点,如果存在具体的书籍章节或段落,可以进一步...
4. 接口调试:开发者可以使用如Postman这样的工具进行接口的测试和调试,了解接口的输入输出格式,以便更好地在实际应用中调用。 二、微信小程序开发 1. 创建项目:首先,你需要在微信开发者工具中创建一个新的小...
4. 接口之间可以继承,使用`extends`关键字,实现接口的继承链。 在Java SE编程中,接口是面向对象编程的重要组成部分,广泛应用于设计模式(如策略模式、观察者模式等)以及框架设计,例如Spring框架中的`...
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.
- 6针和4针接口的区别在于是否提供电源。 #### 五、RCA/Cinch 接口 **1. 功能** - RCA接口主要用于传输音频和视频信号。 - 通过同轴电缆实现多种电信号传输。 **2. 颜色标识** - 不同颜色的RCA线缆代表不同的...
#### 4. 接口返回数据格式 接口返回数据通常包括状态码(status)、业务状态码(code)、返回数据(data)和消息(msg)。状态码表示接口调用的总体状态(成功或异常),业务状态码对应具体的业务逻辑状态,返回数据...
4. 接口继承:一个接口可以继承另一个接口,形成接口层次结构。 5. 静态接口方法:为接口提供静态方法,不与特定实现关联。 通过解决实际的接口使用问题,你可以深入理解这些概念,并在项目中灵活运用接口设计。在...