当前位置:  技术问答>java相关

关于接口...

    来源: 互联网  发布时间:2015-03-22

    本文导语:  问题一 关于接口 class A,class B 是两个不同的类,但都实现了接口 C 那么A和B 是什么关系? 他们可以通讯么? 问题二 接口和事件 一个Applet为了实现鼠标操作需要实现接口MouseListener 然后在mouseClicked(MouseEvent e)...

问题一

关于接口

class A,class B 是两个不同的类,但都实现了接口 C

那么A和B 是什么关系? 他们可以通讯么?

问题二

接口和事件

一个Applet为了实现鼠标操作需要实现接口MouseListener

然后在mouseClicked(MouseEvent e)等方法中编写代码

请问java的运行环境是怎么知道用户移动了鼠标、单击了

鼠标,然后执行相应方法中的代码的呢?

如果我不实现接口,而是自己在程序中书写mouseClicked方法,

java的运行环境找不到的到?会不会执行??

|
 - java.applet.Applet 是 java.awt.Component的子类
 - public void addMouseListener(java.awt.event.MouseListener l) 是
   java.awt.Component的一个方法
 - java.awt.event.MouseListener中
   有一个mouseClicked(java.awt.event.MouseEvent e)方法

   所以你可以把任何实现了java.awt.event.MouseListener接口
   的类的实例, 通过addMouseListener来告诉你的Applet, 当
   JVM发现Applet区域被click之后,上述实例中的mouseClicked 
   方法会被调用(这大概相当于C中的callback,design pattern中
   的Command Pattern),同时java.awt.event.MouseEvent的一个
   实例被传入
    
   关于JVM是如何发现Applet区域被click,小衲不知道,嘻嘻。。。
   估计是如楼上大侠所说,部分过程隐藏在JVM之内(不属于开放出来的API范畴),
   可以看看在这里边:
   java.awt.Component
   java.awt.AWTEventMulticaster

|
1、A 和B 没有关系,如果要通讯,得把自己的对象传给对方。
2、这是JAVA虚拟机自己本身的机理,外人不得而知,至少我是不知道。

|
关于鼠标的问题:
实现的接口相当于vc中的回调函数,也就是用系统调用的,系统什么时候调用,根据不同的函数功能而定。
java的时间映射应用了oop的重载功能,本质上,有鼠标事件产生,系统调用MouseListener中的响应方法,你重载了或实现了这些方法,根据oop的虚函数特性,调用的是你写的事件方法,也就完成了事件映射。
如有错误,大家指出。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.script接口invocable的类成员方法: getinterface定义及介绍
  • 关于LOCAL接口和REMOTE接口的同时兼顾的问题
  • java命名空间javax.lang.model.element接口typeelement的类成员方法: getinterfaces定义及介绍
  • 请问 linux 是如何调用 alsa的控制接口的??是通过控制接口名字吗?
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getmanagementspecversion定义及介绍
  • LINUX下最大支持虚接口数是多少? 如果我想配置1000个虚接口可以吗?
  • java命名空间java.beans.beancontext接口beancontextproxy的类成员方法: getbeancontextproxy定义及介绍
  • 对于操作系统的程序接口,作业接口,单内核,微内核到底有什么区别?
  • java命名空间javax.print接口uriexception的类成员方法: getreason定义及介绍
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java命名空间javax.swing.text接口caret的类成员方法: install定义及介绍
  • 菜鸟提问:一个类实现了一个接口,除了要定义接口的所有方法外,可不可以再添加其他方法?
  • java命名空间javax.swing接口rootpanecontainer的类成员方法: getrootpane定义及介绍
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?
  • java命名空间javax.swing.text接口highlighter的类成员方法: install定义及介绍
  • 有人在Linux下用过1394接口的设备吗?怎么装载一个1394接口的存储设备呢?
  • java命名空间java.lang.reflect接口parameterizedtype的类成员方法: getrawtype定义及介绍
  • 请问高手:EJB中的远程接口、本地接口、HOME接口的联系与区别是什么?应用时应注意哪些问题?
  • java命名空间javax.management接口descriptorread的类成员方法: getdescriptor定义及介绍
  • C#学习笔记之接口与基于接口的工厂模型
  • java命名空间javax.lang.model.element接口typeparameterelement的类成员方法: getgenericelement定义及介绍
  • 请问为什麽在J2ee中客户端(测试时)用jndi定位enterprise bean的时候,可以把远程接口实例化?接口不是不可以生成对象的吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3