对于学习java这门语言的人来说,接口实在是熟的不能再熟了,java编程在很多地方都要用到接口,接口也是java学习中比较基础的知识。此前已经有很多人谈过自己对于接口的理解,在这里也发表一下自己对于接口的理解。
首先接口存在的意义就是给别的类来使用,自身并不能创建对象,所以接口中的方法以及变量不能定义为私有的。当我们实现一个接口时必须把他的方便全部继承下来,否则系统就会报错。
java系统为我们提供的接口有很多,比如List、MouseListener、ActionListener、Map、TableModel等等。
我理解的接口相当于给我们提供了一个工具或者说途径,接口中定义了方法,系统中的接口方法有些是有特定作用的,比如List接口中就有返回队列大小、清除某个节点的方法,而有些接口的方法则是在某种特定情况下才执行的,如KeyListener中就有当键盘按下、放开是执行的方法。但是在方法中具体执行怎样的操作由使用者决定。
使用接口的方法很简单,只要用一个类实现接口,在方法里写入你想要执行的代码就可以了。下面以一个简单的例子来说明一下接口的使用。
public class Text implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("实现接口");
}
}
这样一个简单的接口就实现了,将该类的对象加到按钮上可以实现按钮监听器。下面我们试着使用一下Text。
public class Game {
// 创建ui界面
public void ui(){
JFrame jf=new JFrame();
jf.setSize(300,300);
// 创建实现接口类的对象
Text t=new Text();
JButton jb=new JButton();
jb.setPreferredSize(new Dimension(50,50));
// 再按钮上加监听器
jb.addActionListener(t);
jf.add(jb);
jf.setVisible(true);
}
public static void main(String[] args) {
new Game().ui();
}
}
这样一个程序就可以运行起来了,在上诉程序中,我们只需要在按钮上加上实现了接口的对象就可以实现按钮监听的功能,这就是接口神奇之处啦。试想假如没有这个接口,以我的水平确实不知道如何实现按钮的监听。
java系统给我们提供了各种接口,为编程者提供了方便,但是有时也需要我们自己来定义一些接口以方便个人的使用。
下面是我自己写的一个很简单接口,作用是画图
import java.awt.Graphics;
public interface Shape {
public void draw(Graphics g);
}
接口的作用是可以在画布上画图,我们可以用多个类实现这个接口画不同的图案。这样做的目的是可以吧所有图案保存在同一个列表中,调用列表中所有对象的draw就可以画出所有图案。具体内容大家写过画图板就知道其奥妙之处了。这也是接口的一个神奇之处。
分享到:
相关推荐
通过使用iSkysoft PDF Editor 的神奇接口,你可以插入重要批示,强调主要业务,并绘制能够使您网页更具描述性的形状和线条。“注释”功能使您能够在您可以插入文本意见和便签的地方作标记,还有一套体验良好的为用户...
通过使用iSkysoft PDF Editor 的神奇接口,你可以插入重要批示,强调主要业务,并绘制能够使您网页更具描述性的形状和线条。“注释”功能使您能够在您可以插入文本意见和便签的地方作标记,还有一套体验良好的为用户...
前言::上一节针对 Server 端的接口设计。接下来,就来讨论针对 Cient 端的接口设计了。4. 对 Client 端的通用性接口设计如果有 3 个
使用.NET WEBAPI开发PDF转图片接口Demo
NULL 博文链接:https://wcf1987.iteye.com/blog/1292442
一个神奇的文档站点生成器。没有静态构建的 html 文件。简单轻便。智能全文搜索插件。多个主题。有用的插件接口。与 IE11 兼容。支持嵌入式文件
但是我们如果要实现一个接口,就得使用 implements 操作符,并且类中必须实现接口中定义的所有方法,否则会报一个致命错误,其中类还可以实现多个接口,用逗号来分隔多个接口的名称,是不是很神奇???来看实例
原本其实并不抱太大的希望,结果却神奇般地成功了,而且不需要另外编写驱动,采用USB直接供电,识别为USB鼠标,十分好用,现将制作成果分享如下。 硬件设计 电路原理图如图1所示。 其中鼠标PS2接口的...
里面用到了接口,继承,序列化和反序列化等相关编程知识!
它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API...
应用程序接口SifAPI 是为 swift(Apple 编程语言)编写的,它管理 REST API 调用并神奇地管理返回结果。 SifAPI 还包括一个图像缓存工具,它允许您下载和缓存图像。 SifAPI :let sifAPI = SifAPI.shareSifAPIsifAPI....
由微软亚洲研究院研发的新一代在线词典软件。结合了互联网在线扁及桌面的优势,依托必应搜索引擎技术,及时发现并收录...同时,还有美女口模教您说英语,依照您的记忆曲线辅助您背诵单词的组件,让您感受不一样的神奇。
宠物小精灵Pokemon-api是一种易于使用的,没有bull-sh * t API端点的查询可用数据的方法当前可以在查询API用法开始获得随机的神奇宝贝! 使用您选择的语言/框架: 加载 解析响应主体加载它是必需的参数(例如body.id...
它们使用与非常相似的语法进行操作,并带有用于与 MIC 交互的额外神奇旋钮。 卸载管理:所有例程都设计为在主机或 MIC 上工作。 控制主机和MIC之间的数据传输非常简单,并且完全支持数据持久化。 自动内存管理:...
什么该库提供了一个Golang接口,用于与神奇宝贝对决战斗模拟器进行交互。 简而言之: 可以使用给定的口袋妖怪团队和/或双打或单打形式的随机团队开始战斗(Gen8) 玩家(人类或其他)的决策可以写入模拟器界面一旦...
实施一台神奇的自动售货机。 规则 没有静态调用方法除了您要测试的类之外,单元Remtests中没有实际的实现不要在第一行用// DO NOT MODIFY文件请勿更改以下项的签名: MagicVendingMachine.insert(...) ...
微信开发已经活跃了很长时间了,在微信开发中有一个神奇的接口它叫模板消息接口,它可以根据用户的openid从服务端给用户推送自定义的模板消息,正因如此,我们可以利用这个特征在服务器端随时向用户推送消息(前提是...
为 Wit.AI API(自然语言接口)提供了一个非官方的(看似)令人愉快的 Ruby API 包装器,从 1.0.0 开始,大多数功能已经实现。 有关更多信息,访问 。 我想首先向 Wit.AI 团队提及大道具。 他们是这里真正的巫师,...
vvvv是款神奇的交互软件,您不需编程基础,就可通过它简单的图形化编辑,能够实现大型媒体与物理接口互通,实时动态图像演示,音频和视频处理,虚拟人机互动等等千变万化的功能。国外运用已经如火如荼。 如果您是...
DigiShow LINK应用程序可在MIDI和其他数字设备接口(如DMX,Modbus,Arduino,Philips Hue)之间进行信号传输,以及在屏幕上进行媒体演示的控件。 MIDI音符和MIDI控制更改被映射并转换为用于灯光,伺服,媒体和更多...