1.接口定义:
关键字是:interface
定义格式:
public interface 接口名 extends 接口,... {
//定义常量 注意:常量名的每一个字母都要大写,类也是一样!
public static final 数据类型 常量名 = 值;
(三个写任意一个或者两个三个都行)
static final 数据类型 常量名 = 值;
数据类型 常量名 = 值;
//定义抽象方法
public 返回值数据类型 方法名(数据类型 参数名,...);
public abstract 返回值数据类型 方法名(数据类型 参数名,...);
返回值数据类型 方法名(数据类型 参数名,...);
}
注:接口是一种特殊的类!
接口中只有一种访问修饰符,就是public
接口和普通类的区别:接口中方法全部抽象方法,定义关键字不同,接口可以继承多个
接口,接口被集成后方法要全部实现,接口不能实例化对象,
2.接口的实现:
实现接口的关键字:implements
实现格式:
public class 类名 extends 类或者抽象类 implements 接口名,... {
}
注意:
1.必须要实现接口中所有的抽象方法。
2.类去实现接口实际上就让类和接口拥有继承关系。
接口作用:
1.接口就是丰富类的继承。
2.事件机制中要使用接口。
3.团队开发
例子:
package 接口; /*画圆的类的实现*/ public class ImpOval implements NetJavaShape { public String doWork(){ String a="啦啦啦!"; return a ; } public void draw(int x1 ,int y1,int x2,int y2){ System.out.print("画圆形!"); //接口中的属性定义可以作为常量使用 System.out.println("出品人:"+NetJavaShape.compName); } public String doOther(){ String s="这是我实现OtherShape接口中的方法"; return s ; } public static void main(String[] args){ NetJavaShape shape=new ImpOval(); int x1=10,y1=12 ; int x2=20,y2=20 ; shape.draw(x1,y1,x2,y2) ; //作为OtherShape OtherShape os=new ImpOval() ; OtherShape_1 os_1=new ImpOval(); System.out.println(os.doOther()); System.out.println(os_1.doWork()); } } package 接口; /*形状接口的定义*/ public interface NetJavaShape extends OtherShape,OtherShape_1 { public static final String compName="溫家顺" ; //接口中定义的方法, public void draw(int x1 , int y1 , int x2 ,int y2); } package 接口; public interface OtherShape_1 { String doOther() ; String doWork() ; } package 接口; public interface OtherShape { String doOther() ; }
3.抽象类的实现与继承
抽象类介于类和接口之间的一种特殊类。
定义的关键字:abstract class
语法格式:
public abstract class 抽象类名 extends 类或者抽象类 implements 接口,... {
//定义类中所有的属性和方法(普通方法和构造方法)
//定义接口中的常量和抽象方法。
访问修饰符 abstract 返回值数据类型 方法名(数据类型 参数名,...);
}
注意:抽象类不能实例化对象。
事件机制三部分:事件源;事件监听器方法;事件处理类
4.事件源:可以成为事件源对象的是:所有的图形界面组件对象。
你的动作发生在哪一个组件上,那么该组件对象就是事件源对象
5.事件监听器方法://动作监听器方法(输入框就是回车操作,按钮上就是鼠标单击)
addActionListener(ActionListener al);
//鼠标监听器方法
addMouseListener(MouseListener ml);
//鼠标移动监听器方法
addMouseMotionListener(MouseMotionListener mml);
//键盘监听器方法
addKeyListener(KeyListener kl);
6.事件处理类:定义类实现监听器接口。
例:
package 事件机制; import java.awt.FlowLayout; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class JFrameTest { public static void main(String[] args) { JFrameTest jt = new JFrameTest() ; jt.showFrame() ; } public void showFrame(){ JFrame jf = new JFrame() ; jf.setTitle("界面"); //创建流式布局管理器对象 JLabel la_name=new JLabel("名字:") ; JTextField jta_name=new JTextField(10) ; JButton bu_login = new JButton ("登录") ; jf.add(la_name); jf.add(jta_name); jf.add(bu_login); FlowLayout f1 = new FlowLayout(); jf.setLayout(f1); //设置窗体属性 jf.setSize(500, 400); //窗口大小 jf.setDefaultCloseOperation(3);//窗口可关闭 jf.setLocale(null); //窗口位置 //窗体可见 jf.setVisible(true); //窗体可见 jf.setVisible(true); //创建一个监听器对象 MyMouseListener m1 = new MyMouseListener(); //监听器加给按钮 bu_login.addActionListener((ActionListener) m1); } } package 事件机制; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; public class MyMouseListener implements ActionListener { //重写接口中的所有函数 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //得到事件源对象 Object sour = e.getSource() ; //如果事件源是一个按钮: if(sour instanceof JButton){ JButton bu = (JButton) sour ; String lab = bu.getText() ; System.out.println("按下了一个按钮"+lab); //重新设一下按钮上的文字 //“我被按了一下!” } else{ System.out.println("其他组件发生的事儿!"); } } }
相关推荐
**onClick():**这个函数是是View提供给我们的OnClickListener这个接口中的函数,在这里可以自定义对点击事件的处理逻辑。会在onTouchEvent()中进行调用。 **onTouch():**这个函数是View提供给我们的...
Spring框架作为Java开发的核心,其事件监听机制是理解和利用Spring的关键要素之一。这种机制基于观察者模式,由事件(ApplicationEvent)、...Spring的事件机制允许一个事件被多个监听器监听,增加了灵活性和可扩展性。
介绍了整个mmi框架,消息队列处理机器,各种类型的事件响应机制,如高亮,键盘,计时器等事件的响应机制,并详细介绍了相关事件所涉及的相关接口函数,并介绍屏幕历史管理相关的函数,如果你想学习MTK相关的技术,这...
在android中,接口回调是一种很常见的机制,它可以大大降低代码间耦合性,提高程序的复用性。我们经常碰到的点击事件就是利用的接口回调机制。这里我利用接口回调回传AsyncTask下载的数据~
在Android中到处可见接口回调机制,尤其是UI事件处理方面,本文给大家介绍android接口回调机制,涉及到android接口回调相关知识,对本文感兴趣的朋友可以参考下本
为了增强DSS模型的可重用性及系统的元决策能力,提出了利用事件和参数共同驱动的双因素模型集成机制。将DSS中的可重用模型体系分解为由元模型、复合模型、过程模型构成的层次结构,重新定义了工作流管理领域中的ESP...
libevent 轻量级的开源高性能事件通知库,支持多种 I/O 多路复用技术,内部使用select、epoll、kqueue、IOCP等系统调用管理事件机制。 支持 I/O,定时器和信号等事件,支持注册事件优先级。可用来构建http服务端、...
异步调用是一种类似消息或事件的机制解决了同步阻塞的问题,例如A通知B后,他们各走各的路,互不影响,不用像同步调用那样,A通知B后,非得等到B走完后,A才继续走。回调是一种双向的调用模式,也是说,被调用的接口...
熟悉MS-Windows和X Window System事件驱动编程模型的开发人员,习惯于传递在某种事件发生时调用(即“回调”)的函数指针。Java的面向对象模型目前并不支持方法指针,这样似乎不可能使用这种很好的机制。但我们并...
CTP 期货行情接口api,C++接收期货行情,事件推送机制.
深入研究BREW事件处理机制,薛飞,,BREW是美国高通公司(QUALCOMM)为无线数据应用程序开发和执行提供的通用接口平台,主要支持CDMA手机,最新也可以支持GSM手机。BREW提供�
UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于监听器的事件处理。 对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事件监听器;对于...
17.2 安全机制程序示例 509 17.2.1 列举进程访问令牌内容和权限 509 17.2.2 修改进程的权限 514 17.2.3 列举安全对象的安全描述符 515 17.2.4 修改安全描述符 521 17.3 用户 522 17.3.1 ...
这是一个Android平台的事件总线框架, 它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。在往下看之前,你可以考虑...
Inotify是一种强大的、细粒度的、异步的文件系统事件...相比之下,inotify 基于事件驱动,可以做到对事件处理的实时响应,也没有轮询造成的系统资源消耗,是非常自然的事件通知接口,也与自然世界的事件机制相符合。
第4章 文件系统接口测试 文件系统攻击分为两类:基于介质的攻击和基于文件的攻击 基于介质的攻击 基于介质的攻击目标是模拟存储介质本身-软盘、硬盘、CD-ROM等 攻击1 按容量填满文件系统 按容量填满文件系统会确保你...
17.2 安全机制程序示例 509 17.2.1 列举进程访问令牌内容和权限 509 17.2.2 修改进程的权限 514 17.2.3 列举安全对象的安全描述符 515 17.2.4 修改安全描述符 521 17.3 用户 522 17.3.1 创建用户 522 ...
Inotify是一种强大的、细粒度的、异步的文件系统事件...相比之下,inotify 基于事件驱动,可以做到对事件处理的实时响应,也没有轮询造成的系统资源消耗,是非常自然的事件通知接口,也与自然世界的事件机制相符合。
模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也...