Java 接口的使用
1 package com.bytezreo.interfacetest; 2 3 /** 4 * 5 * @Description 接口的使用 6 * @author Bytezero·zhenglei! Email:420498246@qq.com 7 * @version 8 * @date 下午7:44:28 9 * @ 1.接口的使用满足多态性 10 * 2.接口:实际上定义了一种规范 11 * 3.面向接口编程 12 * 13 */ 14 public class USBTest { 15 public static void main(String[] args) { 16 17 Computer com = new Computer(); 18 19 //1.创建了接口的非匿名实现类的非匿名对象 20 Flash flash = new Flash(); 21 com.transferDate(flash); 22 System.out.println("************************"); 23 Printer printer = new Printer(); 24 com.transferDate(printer); 25 System.out.println("************************"); 26 27 //2.创建了接口的非匿名实现类的匿名对象 28 com.transferDate(new Printer()); 29 System.out.println("************************"); 30 31 //3.创建了接口的匿名实现类的非匿名对象 32 USB phone = new USB() { 33 34 @Override 35 public void start() { 36 System.out.println("手机开始工作"); 37 38 } 39 40 @Override 41 public void stop() { 42 System.out.println("手机结束工作"); 43 44 } 45 46 47 }; 48 49 com.transferDate(phone); 50 System.out.println("************************"); 51 52 //4.创建了接口的匿名实现类的匿名对象 53 54 com.transferDate(new USB() { 55 56 @Override 57 public void start() { 58 System.out.println("MP3开始工作"); 59 60 } 61 62 @Override 63 public void stop() { 64 System.out.println("MP3接受工作"); 65 66 } 67 68 69 70 }); 71 72 73 74 } 75 76 } 77 78 class Computer{ 79 public void transferDate(USB usb) { //USB usb = new Flash(); 80 81 usb.start(); 82 83 System.out.println("具体传输数据的细节"); 84 85 usb.stop(); 86 } 87 88 } 89 90 //接口 91 interface USB{ 92 //定义了长,宽最大最小的传输速度等 93 94 95 void start(); 96 97 void stop(); 98 99 } 100 101 //U盘 102 class Flash implements USB { 103 104 @Override 105 public void start() { 106 System.out.println("U盘开始工作"); 107 108 } 109 110 @Override 111 public void stop() { 112 System.out.println("U盘结束工作"); 113 114 } 115 116 117 118 } 119 120 class Printer implements USB{ 121 122 @Override 123 public void start() { 124 System.out.println("打印机开始后工作"); 125 126 } 127 128 @Override 129 public void stop() { 130 System.out.println("打印机结束工作"); 131 132 } 133 134 135 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15369434.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)