随笔 - 322  文章 - 0  评论 - 4  阅读 - 77146

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 }
复制代码

 

posted on   Bytezero!  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· 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)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示