接口举例分析

接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。

 

接口——注意事项

<1> 接口不能被实例化

<2> 接口中的所有方法都不能有主体,如void aaa(){  } ;抽象类中抽象方法不能有主体,而非抽象方法可以有主体!!!

<3> 一个类可以有多个接口

<4> 接口中可以有变量,但变量不能用privateprotected修饰

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 }
原文地址:https://www.cnblogs.com/gates/p/3785637.html