接口举例分析

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

接口——注意事项

<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 }

接口举例分析

时间: 2024-10-12 17:58:23

接口举例分析的相关文章

Oracle官网JNI简介和接口函数分析

第一章 概述 本章主要介绍JNI(Java Native Interface),JNI是一种本地编程接口.它允许运行在JAVA虚拟机中的JAVA代码和用其他编程语言,诸如C语言.C++.汇编,写的应用和库之间的交互操作. JNI的最大优势在于没有强加任何限制在JAVA虚拟机的下层实现上,因此,JAVA虚拟机供应商能够提供JNI的支持而不影响虚拟机的其他部分,程序员只需写出一个版本的本地应用和库,就可使之运行在一切支持JNI的JAVA虚拟机上. 本章包含了以下的要点: ? JNI概述 ? 目标 ?

底层restful接口修改分析

记录接口调用次数,接口调用时间需求. 需要修改公共的类,就是restful接口,可以认为是底层的代码,具体的实现有哪些?插入数据库肯定不能影响性能. 底层restful接口修改分析,布布扣,bubuko.com

Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6642463 在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的 源代码.细心的读者会发现,这几篇文章分析的Binder接口都是基于C/C++语言来实现的,但是我们在编写应用程序都是基于Java语言的,那么,我 们如何使用Java语言来使用系统的Binder机

Java中Comparable和Comparator接口区别分析

Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧.Comparable 简介Comparable 是排序接口.若一个类实现了Comparab 本文要来详细分析一下Java中Comparable和Comparator接口的区别,

从壹开始前后端分离 40 || 完美基于AOP的接口性能分析

旁白音:本文是不定时更新的.net core,当前主线任务的Nuxt+VueAdmin教程的 nuxt.js 之 tibug项目已上线,大家可以玩一玩:http://123.206.33.109:7090,具体的部署教程会在下周发表. 缘起 哈喽大家周五好呀,今天是一个不定时更新的文章,是很简单的一篇文章,大家应该都能看懂,主要包含了两个内容,一个是对AOP编程的进一步的理解(其中还有和过滤器比较),第二个就是一个简单的小插件——记录接口的调用时间调用情况,也就是很简单的性能记录,这个时候你肯定

(实用篇)php支付宝接口用法分析

本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, alipay_config.php配置程序如下: <?php */ //alipay_config.php 配置程序 $interfaceurl = "https://www.alipay.com/payto:"; $sitename = "网站名称"; $we

Spring源码分析——BeanFactory体系之接口详细分析

Spring的BeanFactory的继承体系堪称经典.这是众所周知的!作为Java程序员,不能错过! 前面的博文分析了Spring的Resource资源类Resouce.今天开始分析Spring的IOC部分.众所周知,IOC是Spring框架最迷人的地方.它最重要的接口,就是BeanFactory了.BeanFactory有着庞大的继承.实现体系,有众多的子接口.实现类.本博文的目标就是抽丝剥茧,从源代码入手,分析Spring的实现和架构,从中进步. 在阅读的过程中,可以参照Spring文档来

【Spring源码分析系列】ApplicationContext 相关接口架构分析

[原创文章,转载请注明出处][本文地址]http://www.cnblogs.com/zffenger/p/5813470.html 在使用Spring的时候,我们经常需要先得到一个ApplicationContext对象,然后从该对象中获取我们配置的Bean对象.ApplicationContext隶属于org.springframework.context,是SpringFramework中Bean的管理者,为SpringFramework的诸多功能提供支撑作用. 下图是Spring-4.3

linux伙伴系统接口alloc_page分析1

在内核中分配内存,最后要通过伙伴系统接口进行实际物理页面的分配,一个重要的接口便是alloc_page.本文介绍下alloc_page的主要流程,各个部分的执行.主要包含正常分配流程,当页面不足的时候的处理方式.先定位到核心调用 #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) order是分配页面的阶,即2的指数个页面 #define alloc_pages(gfp_mask, order) \ alloc_pages_node(num