标签:style blog color java 使用 strong 数据 ar
一、接口的概念与定义
首先考虑一个简单的接口的定义:
public interface Output
{
int MAX_LINE = 40;
void out();
void getData(String msg);
}
int MAX_LINE = 40;
public static final MAX_LINE = 40;
二、接口的继承
考虑如下代码:
1 interface A
2 {
3 int PROP_A = 5;
4 void testA();
5 }
6 interface B
7 {
8 int PROP_B = 6;
9 void testB();
10 }
11 interface C extends A, B
12 {
13 int PROP_C = 7;
14 void testC();
15 }
16
17 public class myJavaTest
18 {
19 public static void main(String[] args)
20 {
21 System.out.println(C.PROP_A);
22 System.out.println(C.PROP_B);
23 System.out.println(C.PROP_C);
24
25 }
26 }
输出:
5
6
7
三、接口的实现和定义
考虑如下程序:
1 interface Output
2 {
3 int MAX_LINE = 4;
4 void out();
5 void getData(String msg);
6 }
7
8 interface Product
9 {
10 int getProductTime();
11 }
12
13 //实现简单的打印作业
14 public class Printer implements Output, Product
15 {
16 private String[] printData = new String[MAX_LINE];
17 private int dataNum = 0; // 记录需要打印的作业数
18
19 public void out()
20 {
21 while (dataNum > 0)
22 {
23 System.out.println("打印机打印" + printData[0]);
24
25 //把作业队列整体前移一位,并将剩下的作业数减1
26 System.arraycopy(printData, 1, printData, 0, --dataNum);
27 }
28
29 }
30
31 @Override
32 public int getProductTime() {
33 // TODO Auto-generated method stub
34 return 45;
35 }
36
37 @Override
38 public void getData(String msg)
39 {
40 if (dataNum >= MAX_LINE)
41 {
42 System.out.println("输出队列已满,添加失败");
43 }
44 else
45 {
46 //把打印数据添加到队列里,作业数加1
47 printData[dataNum++] = msg;
48 }
49 }
50 public static void main(String[] args)
51 {
52 //创建一个Printer对象,当成Output使用
53 Output O = new Printer();
54 O.getData("123");
55 O.getData("456");
56 O.getData("789");
57 O.getData("ABC");
58 O.getData("def");
59 O.out();
60 //创建一个Printer对象,当成Product使用
61 Product P = new Printer();
62 System.out.println(P.getProductTime());
63 }
64 }
输出:
输出队列已满,添加失败
打印机打印123
打印机打印456
打印机打印789
打印机打印ABC
45
[修饰符] class 类名 extends 父类 implements 接口1, 接口2..
{
类体部分
}
implements是表明这个类实现接口的关键字,一个类可以实现多个接口,多个接口之间用逗号隔开,如上述程序14行所示
上述程序用类Printer实现了Output接口和Product接口,于是,Printer对象既可以赋给Output变量(53行)也可以赋给Product变量(61行),好像Printer类既是Output类的子类,也是Output类的子类,这就是传说中的Java的模拟多继承。
标签:style blog color java 使用 strong 数据 ar
原文地址:http://www.cnblogs.com/90zeng/p/Java_interface.html