接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。
接口——注意事项
<1> 接口不能被实例化
<2> 接口中的所有方法都不能有主体,如void aaa(){ } ;抽象类中抽象方法不能有主体,而非抽象方法可以有主体!!!
<3> 一个类可以有多个接口
<4> 接口中可以有变量,但变量不能用private和protected修饰
A. 接口中的变量,本质上都是static的,而且是final类型的
B. 在java开发中,我们把常用的变量,定义在接口中,作为全局变量使用。使用形式:接口名.变量名
<5> 一个接口不能继承其他的类,但是可以继承别的接口
1 /** 2 3 * 功能:接口的讲解 4 5 */ 6 7 public class Demo { 8 9 public static void main(String[] args) { 10 11 12 13 // 创建一个计算机 14 15 Computer computer=new Computer(); 16 17 // 创建Camera 18 19 Camera camera1=new Camera(); 20 21 // 创建Phone 22 23 Phone phone1=new Phone(); 24 25 computer.useUsb(camera1); 26 27 computer.useUsb(phone1); 28 29 30 31 System.out.println(Usb.a); 32 33 } 34 35 } 36 37 38 39 // 先写一个Usb接口 40 41 interface Usb 42 43 { 44 45 int a=1; 46 47 48 49 // 声明了两个方法 50 51 public void start(); // 接口开始工作 52 53 public void stop(); // 接口停止工作 54 55 } 56 57 58 59 // 编写了一个照相机类 60 61 // implements实现了Usb接口 62 63 // 一个重要的原则——当一个类实现了一个接口 64 65 // 就要求该类把这个接口的所有方法统统实现 66 67 class Camera implements Usb 68 69 { 70 71 public void start() 72 73 { 74 75 System.out.println("我是照相机!!开始工作了!!"); 76 77 } 78 79 public void stop() 80 81 { 82 83 System.out.println("我是照相机!!停止工作了!!"); 84 85 } 86 87 } 88 89 90 91 // 编写手机类 92 93 class Phone implements Usb 94 95 { 96 97 public void start() 98 99 { 100 101 System.out.println("我是手机!!开始工作了!!"); 102 103 } 104 105 public void stop() 106 107 { 108 109 System.out.println("我是手机!!停止工作了!!"); 110 111 } 112 113 } 114 115 116 117 // 计算机 118 119 class Computer 120 121 { 122 123 // 开始使用usb接口 124 125 // 接口体现的多态性 126 127 public void useUsb(Usb usb) 128 129 { 130 131 usb.start(); 132 133 usb.stop(); 134 135 } 136 137 }