package yuwei.com;
/*
* 接口:
* 初期理解:可以认为是一个特殊的抽象类
* 当抽象类的方法都是抽象的,那么该类可以通过接口的方式表示
* 接口是不能创建对象的,因为有抽象方法。
* 需要被子类实现(implements),子类对接口中的抽象方法全部覆盖后,子类才可以
* 实例化
*
* 常量(public static final),抽象方法(public abstract)
*
* 接口可以被类多实现*/
interface OutPut
{
void out();
void getData(String msg);
long getProduceTime();
}
class Printer implements OutPut{
private static final int MAX_CACHE_LINE = 1000;
private String[] printData = new String[MAX_CACHE_LINE];
//用以当前记录的打印作业数量
private int dataNum = 0;
@Override
public long getProduceTime() {
// TODO Auto-generated method stub
long start = System.currentTimeMillis();
//开始工作
out();
long end = System.currentTimeMillis();
return end - start;
}
@Override
public void out() {
// TODO Auto-generated method stub
while(this.dataNum > 0) {
System.out.println("打印机打印:" +this.printData[0]);
//把作业队列整体前移一位,并将剩下的作业数量减1
System.arraycopy(printData, 1, printData, 0, --dataNum);
}
}
public void getData(String msg)
{
if(this.dataNum >= MAX_CACHE_LINE) {
System.out.println("输出队列已满,添加失败");
}else {
this.printData[this.dataNum++] = msg;
}
}
}
public class InterfaceDemo {
public static void main(String[] args) {
//创建一个Printer对象,当成OutPut使用
OutPut o = new Printer();
for(int x = 0;x < 1000;x++) {
o.getData("AAAAAAA");
}
System.out.println("毫秒:"+o.getProduceTime());
}
}
接口的初步使用(打印机)
最新推荐文章于 2024-02-22 17:23:24 发布