Java 学习 第六篇;接口
1: 接口定义
修饰符 interface 接口名
{
常量定义;
抽象方法定义;
}
修饰符 interface 接口名 extends 父接口表
{
常量定义;
抽象方法定义;
}
-> 修饰符可以是public 也可以省略具体情况根据编程实际来决定;‘
-> 接口只能继承接口
2:接口的特征;
接口定义的常量属性由于是接口相关的, 接口属性默认为public static final;
接口中不能有构造器和初始化快所以定义属性时必须指定其初值;
3:接口的使用 接口的实现
一个类可以实现多个接口,形式如下
修饰符 class 类名 extends implements 接口表
{
.....
}
举个栗子:
package six;
interface Product
{
int getProduceTime();
}
interface Output
{
int MAX_CACHE_LINE=50;
void out();
void getData(String msg);
}
public class Printer implements Output,Product {
private String[] printData=new String[MAX_CACHE_LINE];
private int dataNum=0;
public void out()
{
while(dataNum>0)
{
System.out.println("正在打印"+printData[0]);
System.arraycopy(printData, 1, printData, 0, --dataNum);
}
}
public void getData(String msg)
{
if(dataNum>=MAX_CACHE_LINE)
{
System.out.println("输入队列已满");
}
else
{
printData[dataNum++]=msg;
}
}
public int getProduceTime()
{
return 45;
}
public static void main(String [] args)
{
Output os=new Printer();
os.getData("this is data");
os.getData("this is the second data");
os.out();
os.getData("this is the 3rd data");
os.getData("this is the 4th data");
os.out();
Product p =new Printer();
System.out.println(p.getProduceTime());
}
}
output:
正在打印this is data
正在打印this is the second data
正在打印this is the 3rd data
正在打印this is the 4th data
45
-------------------------------------------哎呀 今天事情比较多就写这么些吧 华丽丽的分割线未完待续----------------------------------------------------------------------------------------------------------
Java 学习 第六篇;接口的更多相关文章
- Java学习第六篇:集合类
一.Java集合类框架 Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合:从Java5以后,J ...
- 从.Net到Java学习第六篇——SpringBoot+mongodb&Thymeleaf&模型验证
SpringBoot系列目录 SpringBoot整合mongodb MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.如果你没用过Mong ...
- 从.Net到Java学习第十一篇——SpringBoot登录实现
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做 ...
- Typescript 学习笔记六:接口
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第六章
java学习第六章 本周对与java中的接口,lambda表达式与内部类进行了学习,以下是我在学习中的一些体会: 1.接口: <1>.接口中的所有常量必须是public sta ...
- Java 学习(六)
Java 学习(六) 标签(空格分隔): Java 枚举 JDK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便 ...
- Java学习之注解篇
Java学习之注解篇 0x00 前言 续上篇文章,这篇文章就来写一下注解的相关内容. 0x01 注解概述 Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制. 和J ...
- Java学习笔记之---比较接口与抽象类
Java学习笔记之---比较接口与抽象类 抽象类是描述事物的本质,接口是描述事物的功能 接口与抽象类的异同 1.一个类只能继承一个父类,但是可以有多个接口 2.抽象类中的抽象方法没有方法体,但是可以有 ...
- Java学习之反射篇
Java学习之反射篇 0x00 前言 今天简单来记录一下,反射与注解的一些东西,反射这个机制对于后面的java反序列化漏洞研究和代码审计也是比较重要. 0x01 反射机制概述 Java反射是Java非 ...
随机推荐
- documentElement vs body区别
documentElement.scrollTop------>0因为,他包含head, body body.scrollTop------------------>才是正确的 scrol ...
- 目测ZIP的压缩率
对word文件,能压到25% 对PDF文件,却只有90% 对压缩文件本身再压缩,几乎没有效果. 考虑到用户一般情况下只有正常的文档,取中位值66%是比较正常的情况,特别是在预估原文件大小的时候.
- Qt编程之对QGraphicsItem点击右键弹出菜单
就是对这个contextMenuEvent 事件重新实现,在这个事件函数中创建菜单,大概就是这样. void MyItem::contextMenuEvent(QGraphicsSceneContex ...
- bash与sh的区别
在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下两种方式:(1) #!/bin/sh(2) #!/bin/bash在这里求教同福客栈的各位 ...
- 如何应对“改变现状”的失败"
参加工作后,利用闲暇时间看了一些书,发现以上的场景可以通过心理学,神经生物学等相关的知识来解析,同时也可以利用这些知识来进行一些改进.那么下文就来尝试通过心理学来解析这个场景,同时提出一些改进方法. ...
- c语言输出可见字符
#include <stdio.h> void main() { int i; //可见字符是32-126 ;i<;i++) { putchar(i); } getchar(); }
- css中的段落样式及背景
一.段落样式 css中关于段落的样式主要有行高,缩进,段落对齐,文字间距,文字溢出,段落换行等.它们的具体语法如下: line-height : normal | length text-indent ...
- (转)iPhone 判断UITableView 滚动到底部
UITableView is a subclass of UIScrollView, and UITableViewDelegate conforms to UIScrollViewDelegate. ...
- Hadoop,HBase集群环境搭建的问题集锦(四)
21.Schema.xml和solrconfig.xml配置文件里參数说明: 參考资料:http://www.hipony.com/post-610.html 22.执行时报错: 23., /comm ...
- [RxJS] Updating Data with Scan
You often need to update the data flowing through the stream with custom logic based on what you nee ...