1 package face_09;
2 /*
3 * 笔记本电脑使用。
4 * 为了扩展笔记本的功能,但日后出现什么功能设备不知道。
5 *
6 * 定义了一个规则,只要日后出现的设备都符合这个规则就可以了
7 * 规则在java中就是接口
8 *
9 */
10 interface USB {//暴露的规则
11 public void open();
12 public void close();
13 }
14
15 public class BookPC {
16 public static void main(String[] args) {
17 usbUSB(new UPan());//功能扩展
18 usbUSB(new UsbMouse());
19 }
20 //使用规则。
21 public static void usbUSB(USB u) {//接口类型的引用,用于接收(指向)接口的子类对象
22 u.open();
23 u.close();
24 }
25 }
26 //一年后。-----------
27 //实现规则
28 //这些设备和电脑的耦合性降低了。
29 class UPan implements USB {
30 public void open() {
31 System.out.println("upan open");
32 }
33 public void close() {
34 System.out.println("upan close");
35 }
36
37 }
38 class UsbMouse implements USB {
39 public void open() {
40 System.out.println("UsbMouse open");
41 }
42 public void close() {
43 System.out.println("UsbMouse close");
44 }
45
46 }