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 }

Java 接口的使用的更多相关文章
- java接口调用——webservice就是一个RPC而已
很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...
- java 接口的作用和好处
1.java 接口的作用 http://blog.csdn.net/hack_bug/article/details/7634737 2.一位Java大牛的回答 很多JAVA初级程序员对于接口存在的意 ...
- java接口
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- java接口的嵌套
java接口 1.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值 2.接口中的方法默认都是 public abstract ...
- java 接口和抽象类的区别
java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...
- java 接口(上)
1.接口中的方法都是抽象方法.而普通的抽象类里面不一定都是抽象方法.抽象类中必须有抽象方法,同时也可以有非抽象方法.继承抽象父类的子类中,如果依然有抽象方法,那么这个子类也是抽象类.即只要类中有抽象方 ...
- java接口和抽象类
关于接口 1.创建一个接口,需要使用interface关键字. 2.实现一个接口,需要使用implements关键字. 3.接口的成员属性都是静态常量(默认public static final). ...
- python面向对象进阶 反射 单例模式 以及python实现类似java接口功能
本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存 ...
- 初探设计:Java接口和抽象类何时用?怎么用?
今天犯了个错: “接口变动,伤筋动骨,除非你确定只有你一个人在用”.哪怕只是throw了一个新的Exception.哈哈,这是我犯的错误. 一.接口和抽象类 类,即一个对象. 先抽象类,就是抽象出类的 ...
- OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例
转自: http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...
随机推荐
- VictoriaMetrics 1.80版本中值得关注的新特性
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 change log请看:https://github.c ...
- 【JS 逆向百例】Ether Rock 空投接口 AES256 加密分析
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...
- Python 潮流周刊#12:Python 中如何调试死锁问题?
查看全文: https://pythoncat.top/posts/2023-07-22-weekly 文章&教程 1.使用 PyStack 调试 Python 中的崩溃和死锁 (英) 2.介 ...
- NLP领域任务如何选择合适预训练模型以及选择合适的方案【规范建议】【ERNIE模型首选】
1.常见NLP任务 信息抽取:从给定文本中抽取重要的信息,比如时间.地点.人物.事件.原因.结果.数字.日期.货币.专有名词等等.通俗说来,就是要了解谁在什么时候.什么原因.对谁.做了什么事.有什么结 ...
- (C语言)每日代码||2023.12.24||fwrite()可以写入字符数组中的'\0'
void test() { FILE* fp = fopen("test.txt", "w"); if (fp == NULL) { perror(" ...
- flash8.ocx或其附件之一不能正确注册
运行书中自带光盘中的程序,在该程序的readme说明中,提到这类错误,解决方式是: 因为是免安装程序,需要运行"setup"文件夹下的setup.exe文件,安装控件.在安装完成后 ...
- 记录一则exachk进程占用大量CPU资源
有Exadata客户在进行exachk巡检之后反馈,发现系统中,exachk进程占用了大量CPU资源. 了解之前的变更,只是巡检之前升级了AHF,然后进行标准的exachk巡检. 现象: 目前机器整体 ...
- 小知识:解决EXP-00003的报错
客户有个需求:某用户程序(含exp导出任务)报错EXP-00003,这个错误并不会影响整个导出任务的结束,但由于是晚上的定时任务,该错误会触发夜间告警.客户想通过数据库层面来规避掉此错误. 事实上,这 ...
- Centos中安装deb报错
centos7中安装deb包 概要:deb包和rpm包区别:deb后缀的软件包是for Debian系的(包括Ubuntu),不是给centos安装的:rpm后缀的软件包才是for Redhat系 ...
- 【Android】MediaCodec详解
1 前言 MediaCodec 主要用于视频解码和编码操作,可以实现视频倍速播放.全关键帧转换.视频倒放等功能. MediaCodec 的工作原理图如下: MediaCodec 的主要接口 ...