前言

我们知道,java中,
一个类只能有一个父类。但是,如果,我们想要实现的方法在父类中没有,那怎么办呢?
这个时候就需要接口。

简介

  • 可以把接口看成纯粹的抽象类,因为里面都是抽象方法。
  • 一个类可以同时实现多个接口
1
class Do implements 接口1,接口2 ...

接口与类的区别

  1. 接口不能用于实例化对象。
  2. 接口没有构造方法。
  3. 接口不能包含成员变量,除了 static 和 final 变量。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
interface drawTest { // 定义接口
public void draw(); // 定义方法
}

// 定义平行四边形类,该类继承了四边形类,并实现了drawTest接口
class ParallelogramgleUseInterface extends QuadrangleUseInterface
implements drawTest {
public void draw() { // 由于该类实现了接口,所以需要覆盖draw()方法
System.out.println("平行四边形.draw()");
}

void doAnyThing() { // 覆盖父类方法
// SomeSentence
}
}

class SquareUseInterface extends QuadrangleUseInterface implements
drawTest {
public void draw() {
System.out.println("正方形.draw()");
}

void doAnyThing() {
// SomeSentence
}
}

class AnyThingUseInterface extends QuadrangleUseInterface {
void doAnyThing() {

}
}

public class QuadrangleUseInterface { // 定义四边形类
public void doAnyTthing() {
// SomeSentence
}

public static void main(String[] args) {
drawTest[] d = { // 接口也可以进行向上转型操作
new SquareUseInterface(), new ParallelogramgleUseInterface() };
for (int i = 0; i < d.length; i++) {
d[i].draw(); // 调用draw()方法
}
}
}