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 }

Java 接口的使用的更多相关文章

  1. java接口调用——webservice就是一个RPC而已

    很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...

  2. java 接口的作用和好处

    1.java 接口的作用 http://blog.csdn.net/hack_bug/article/details/7634737 2.一位Java大牛的回答 很多JAVA初级程序员对于接口存在的意 ...

  3. java接口

    一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...

  4. java接口的嵌套

    java接口 1.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值 2.接口中的方法默认都是 public abstract ...

  5. java 接口和抽象类的区别

    java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...

  6. java 接口(上)

    1.接口中的方法都是抽象方法.而普通的抽象类里面不一定都是抽象方法.抽象类中必须有抽象方法,同时也可以有非抽象方法.继承抽象父类的子类中,如果依然有抽象方法,那么这个子类也是抽象类.即只要类中有抽象方 ...

  7. java接口和抽象类

    关于接口 1.创建一个接口,需要使用interface关键字. 2.实现一个接口,需要使用implements关键字. 3.接口的成员属性都是静态常量(默认public static final). ...

  8. python面向对象进阶 反射 单例模式 以及python实现类似java接口功能

    本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存 ...

  9. 初探设计:Java接口和抽象类何时用?怎么用?

    今天犯了个错: “接口变动,伤筋动骨,除非你确定只有你一个人在用”.哪怕只是throw了一个新的Exception.哈哈,这是我犯的错误. 一.接口和抽象类 类,即一个对象. 先抽象类,就是抽象出类的 ...

  10. OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例

    转自:  http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...

随机推荐

  1. Qt连接MySQL的问题解决方法

    Qt5在连接MySQL数据库时会出现一些问题,本文介绍两种最常见的问题,以及其相对简单的解决办法. Qt5数据库支持列表里没有MySQL 输入以下代码查看支持的数据库类型 //打印支持的数据库类型 q ...

  2. 开启中文智能之旅:探秘超乎想象的 Llama2-Chinese 大模型世界

    "开启中文智能之旅:探秘超乎想象的 Llama2-Chinese 大模型世界" 1.国内Llama2最新下载地址 本仓库中的代码示例主要是基于Hugging Face版本参数进行调 ...

  3. [转发]MySQL安装配置教程(超级详细、保姆级)

    MySQL安装配置教程(超级详细.保姆级)_SoloVersion的博客-CSDN博客_mysql安装配置教程一. 下载MySQLMysql官网下载地址https://downloads.mysql. ...

  4. LeetCode刷题日记2020/8/22

    题目 24点程序 描述 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: ...

  5. Nginx负载均衡、location匹配

    nginx的日志 ``` #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$ ...

  6. LoopAndLoop【安卓逆向】

    LoopAndLoop(阿里CTF) 首先是通用步骤 解压附件后发现是APK文件,打开jeb进行反编译,反编译结果如下: 可以看到程序自定了几个check函数,并且调用了自定义库"lhm&q ...

  7. vue实现简易瀑布流

    实现效果 1.不同屏幕尺寸下根据可视区域宽度判断 应该 放几列,这里用onresize演示 2.鼠标滚动到已加载数据的底部时再次请求数据,重新计算哪一列高度最小,push到最小的那一列 实现思路 1. ...

  8. php+html5使用FormData对象提交表单及上传图片的方法

    php+html5使用FormData对象提交表单及上传图片的方法 本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法.分享给大家供大家参考.具体分析如下: FormDa ...

  9. Oracle 19c RAC 自动应用RU补丁简明版

    环境:Oracle RAC(GI 19.3 + DB 19.3) 本文应用补丁信息, 19.16 RU: p34130714_190000_Linux-x86-64.zip 本文主要演示使用opatc ...

  10. python 创建动态类

    一般情况下多数是预先定义类 而少数特殊情况就需要去动态创建类了,直接贴代码. class BaseModel(Model): class Meta: database = _tb class_new ...