接口其实是一种定义方法的标准。多个项目开发起来,如果串型开发的话函数越多无法管理,并行开发的话没有一个标准也不好分配任务,于是,接口的概念完全解决了这个问题,可能现在很多书上的例子仅仅把接口当做解决做继承的问题(因为JAVA没有多继承),但其理解起来有点无法接受,但他的作用远远不是解决多继承的。<o:p></o:p>
如果你读过我在我的blog里写的abstract 方法总结的话,获取会对接口会接受的更快些。因为他们之间有一定的联系,同是抽象出一个方法(接口是抽象一个标准方法),让继承/使用的类去定义这种方法。不同的是,如果使用接口的方法,就必须在使用接口的类中全部把他定义出来,因为类使用了一个标准,就必须遵守这个标准。<o:p></o:p>
还是介绍一下接口,接口是用interface来定义的,和类一样,可以有成员,有方法,不过,它的方法不能被定义。缺省的修饰符是 public abstract ,接口可以向类一样继承,例如<o:p></o:p>
interface f1{<o:p></o:p>
void deMethod(); // public and abstract;<o:p></o:p>
public abstract void deMethod1(); // public and abstract<o:p></o:p>
}<o:p></o:p>
interface f2 extends f1{<o:p></o:p>
void deMethod2();<o:p></o:p>
}<o:p></o:p>
继承后接口f2 就含有3个标准<o:p></o:p>
void deMethod();<o:p></o:p>
void deMethod1();<o:p></o:p>
void deMethod2();<o:p></o:p>
<o:p> </o:p>
使用接口的时候用implements .使用了接口的类,不得将定义的方法访问控制低于接口的访问控制,接口的方法不能为native,static,final,synchronized,priavte,protected.所以使用接口的类一般控制访问应该设为public.<o:p></o:p>
<o:p> </o:p>
可能你还不了解 “标准”。下面我将以一个简单的例子来做解答<o:p></o:p>
<o:p> </o:p>
电脑里的有显卡,主板,显示器,CPU等,为什么他们可以由几个不同的厂商生产呢?其实就是因为在他们生产之间准备一种标准,让彼此只要遵守这个标准就OK拉,显示器厂商不会去关心CPU是什么型号,他只管接收显卡发射的图像并让自己显示出来就可以了,显卡同样不会去关心主板是谁生产的,它只遵守把能插在主板上并把用户的图像显示出去就可以了,于是大家干活起来越来越轻松,这就是标准带来的好处。<o:p></o:p>
我们来定义一个显卡,一个主板。你将可以看到接口使用的好处<o:p></o:p>
<o:p> </o:p>
interface Video{ //定义一个简单的显卡标准,主要负责显示和获得显卡厂家名字<o:p></o:p>
void display();<o:p></o:p>
String getName();<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
class VideoCard implements Video{ //使用这个标准来定义<o:p></o:p>
private String name;<o:p></o:p>
public void display(){<o:p></o:p>
System.out.println("VideoCard Working....");<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
public String getName(){<o:p></o:p>
return name;<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
public void setName(String name){<o:p></o:p>
this.name = name;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
class MainBoard{<o:p></o:p>
Video v;//主板组合一个显卡标准
void setVideoCard(Video v){<o:p></o:p>
this.v = v;<o:p></o:p>
}<o:p></o:p>
void run(){ //主板运行<o:p></o:p>
v.display();//由于显卡标准规定,主板调用显卡标准的输出方法<o:p></o:p>
System.out.println("VideoCard is " + v.getName());//由于显卡标准规定,主板调用显卡获取名字方法<o:p></o:p>
<o:p> </o:p>
System.out.println("mainBoard Working...");<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
public class Computer{ //配置一台电脑<o:p></o:p>
public static void main(String [] args){<o:p></o:p>
VideoCard v = new VideoCard(); //买一块显卡<o:p></o:p>
v.setName("创新显卡");<o:p></o:p>
MainBoard m = new MainBoard();<o:p></o:p>
m.setVideoCard(v);//装到主板上<o:p></o:p>
m.run();<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
这么一来。接口的作用得到充分利用。<o:p></o:p>
分享到:
相关推荐
java基础,java,interface接口总结文档
ipmI协议和ipmb总线的总接、、ipmI协议和ipmb总线的总接、、
1.接口的特点 1)接口里的所有属性都是public static final的; 2)接口里的所有方法都是public abstract的; 3)接口与接口之间可以继承 如: public interface InterfaceA extends InterfaceB{} 4)类可以实现接口,一...
基于Arcengine的开发常用接口总结
MIPI 联盟 SPMI system power management interface 学习总结, 用于连接PMIC和SOC
面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 ...
单片机接口技术与实验课程总结 单片机接口技术与实验课程总结是电气工程及其自动化专业的一门课程,本课程旨在通过实验和理论教学,帮助学生掌握单片机的接口技术和实验方法。 实验一:SPI 接口技术 SPI(Serial ...
UVM TLM1.0 Interface归纳总结 — 图解UVM TLM1.0 Interface Transaction-Level Modeling (TLM) 用户模块之间的通信. 是实现基于事务的方法的概念,这些方法可用于模块之间的通信。 The UVM库提供了事务级...
1. 了解Java 中包(package)、接口(interface)的作用。 2. 掌握包、接口设计方法。 【实验要求】 1. 了解Java 系统包的结构。 2. 掌握创建自定义包的方法。 3. 掌握使用系统接口的技术和创建自定义接口的方法。...
JNI是Java Native Interface的缩写,即Java本地接口.从Java1.1开始,JNI标准成为Java平台的一部分,它允许java代码和用其它语言编写的代码进行交互.JNI是本地编程接口,它使得在Java虚拟机(VM)内部运行的Java代码能够...
文章目录接口的定义接口的抽象方法接口的使用接口的默认方法接口的静态方法接口的私有方法接口的常量接口之间的多继承总结 接口的定义 接口就是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的...
Override 关键字用于重写父类中的虚拟方法,Abstract 关键字用于声明抽象类和抽象方法,Virtual 关键字用于声明虚拟方法,而 Interface 关键字用于声明接口。只有正确地使用这些关键字,才能编写出高质量的 C# 程序...
SPI( Serial Peripheral Interface,串行外围设备接口)是一种同步串行通信接口,由Philips公司开发,广泛应用于嵌入式系统、微控制器和外围设备之间的通信。下面是根据提供的文件信息,总结的相关知识点: 1. SPI...
总结性深一层次综合剖析接口概念 interface马克-to-win java视频
声明接口使用关键字`interface`,例如: ```java public interface Area { public abstract double area(); } ``` 接口不能被实例化,抽象类可以实现多个接口。 1.2 实现接口的类 一个类可以实现多个接口,使用...
接口使用interface关键字进行定义,可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。 接口的特性: 1.接口类似于抽象基类,不能直接实例化接口;接口中的方法都是抽象方法,实现接口的任何非抽象...
【Java总结】-【入门篇(第四周)】 后续每周总结一次 JAVA接口、内部类、常用类 一、JAVA接口 1.1 什么是接口?: 接口相当于特殊的抽象类,定义方式、组成部分于抽象类类似。 微观概念:接口是一种能力和约定 接口的...
创建:public interface 接口名 jdk7: ——被static final修饰的变量–>常量 int i =10 ——被abstract修饰的抽象方法–>不写abstract,也有 jdk8:默认方法,静态方法 jdk9:私有方法 关于抽象方法的定义以及使用...
在特权模式下,我们可以使用`show interface`命令来查看某个接口的信息。例如,要查看 f0/1 接口的信息,可以输入`show interface f0/1`或`show int f0/1`命令。这样,我们就可以查看到 f0/1 接口的详细信息,包括...
Windows API(Windows Application Program Interface,Windows应用程序接口)是一系列函数、宏、数据类型、数据结构的集合,运行于Windows系统的应用程序,可以使用操作系统提供的接口来实现需要的功能。《精通...