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. vue如何在render函数中使用判断(2)

    h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. 第 ...

  2. mysql系列14---mysql数据库还原与备份

    一.Liunx服务器下数据库定时备份 1.编写mysql在docker容器中备份的shell脚本: #!/bin/bash#  2020-11-15#docker启动的mysql备份mysql_use ...

  3. Abp 模板更换数据库 版本为V5.x,遇到的问题

    数据库的选择: Mysql使用5.0.0的版本,根据在下面的依赖项 大于等于5.0.5 && 小于6.0.0 Microsoft.EntityFrameworkCore.Tools和M ...

  4. 错误的daemon.json配置,导致docker容器启动失败 Failed to start Docker Application Container Engine

    docker学习-配置错误的源 问题点剖析 参考 docker学习-配置错误的源 问题点剖析 使用docker安装了nginx,编写Dockerfile,映射端口,终于跑起来了.但是,当我重启服务器, ...

  5. 18.3 NPCAP自定义数据包过滤

    NPCAP 库是一种用于在Windows平台上进行网络数据包捕获和分析的库.它是WinPcap库的一个分支,由Nmap开发团队开发,并在Nmap软件中使用.与WinPcap一样,NPCAP库提供了一些 ...

  6. spark读取空orc文件时报错java.lang.RuntimeException: serious problem at OrcInputFormat.generateSplitsInfo

    问题复现: G:\bigdata\spark-2.3.3-bin-hadoop2.7\bin>spark-shell 2020-12-26 10:20:48 WARN NativeCodeLoa ...

  7. 【算法】基于hoare快速排序的三种思想和非递归,基准值选取优化【快速排序的深度剖析-超级详细的注释和解释】你真的完全学会快速排序了吗?

    文章目录 前言 什么是快速排序 快速排序的递归实现 快速排序的非递归实现 单趟排序详解 hoare思想 挖坑法 前后指针法 快速排序的优化 三数取中 小区间优化 快速排序整体代码 尾声 前言 先赞后看 ...

  8. 单片机 IAP 技术方案设计

    1.前言 关于 IAP 技术,做过 bootloader 的想必很熟悉 (IAP全称 In Application Programming,即应用编程),和 ISP (全称 In System Pro ...

  9. 洛谷P2415 集合求和(数学问题,使用集合子集求和公式)

    可以知道对于一个有n个数据的集合,其子集个数有2^n个 至于证明可以这样理解,对于n个数据,其子集就是对数据进行组和,而对于每个位置上的数据,组合时仅有两种状态即有此数据或无此数据,也就是有两种可能, ...

  10. Pandas 人口密度案例分析

    from turtle import left import pandas as pd """ 需求: 1.导入文件,查看原始数据 2.将人口数据和各州简称数据进行合并 ...