JAVA中 接口是什么? 接口的回调是什么?

作者&投稿:经威 (若有异议请与网页底部的电邮联系)
Java中什么是接口回调~

接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。看下面示例:interface People{void peopleList();}class Student implements People{public void peopleList(){System.out.println("I’m a student.");}}class Teacher implements People{public void peopleList(){System.out.println("I’m a teacher.");}}public class Example{public static void main(String args[]){People a; //声明接口变量a=new Student(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调a=new Teacher(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调}}结果:I’m a student.I’m a teacher.

具体怎么解释可能不是特别好解释啊....给你看看刚写的一段程序好了...很容易理解的...
interface Msg{ void showMessage();}class NbMsg implements Msg{ public void showMessage() { System.out.println("123456"); }}class CahrMsg implements Msg{ public void showMessage() { System.out.println("abcdef"); }}public class test { private Msg msg; public void show() { System.out.println("处理一些东西"); msg.showMessage(); } public void setMsg(Msg msg) { this.msg = msg; }public static void main(String[] args) { test a = new test(); a.setMsg(new CahrMsg()); a.show(); a.setMsg(new NbMsg()); a.show(); }}结果是:处理一些东西abcdef处理一些东西123456

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。

接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。看下面示例。interface People{ void peopleList();}class Student implements People{ public void peopleList(){ System.out.println("I’m a student.");}}class Teacher implements People{ public void peopleList(){ System.out.println("I’m a teacher.");}}public class Example{ public static void main(String args[]){ People a; //声明接口变量a=new Student(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调a=new Teacher(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调}}结果:I’m a student.I’m a teacher.再来看看向上转型(upcasting)的概念。

用 Java 接口实现回调函数的等价功能熟悉 MS-Windows 和 X Window System 事件驱动编程模型的开发人员,习惯于传递在某种事件发生时调用(即“回调”)的函数指针。Java 的面向对象模型目前并不支持方法指针,Java 的接口支持提供了一种获得回调的等价功能的机制。其技巧就是:定义一个简单接口,并在该接口中声明我们要调用的方法。假定我们希望在某个事件发生时得到通知。我们可以定义一个接口:InterestingEvent.javapackage org.zj.sample;public interface InterestingEvent { public void interestingEvent ();}这使得我们可以控制实现该接口的类的任何对象。因此,我们不必关心任何外部类型信息。发出事件信号的类必须等待实现了 InterestingEvent 接口的对象,并在适当时候调用 interestingEvent() 方法。EventNotifier.javapackage org.zj.sample;public class EventNotifier { private InterestingEvent ie; private boolean somethingHappened; public EventNotifier(InterestingEvent event) { ie = event; // 保存事件对象以备后用。 somethingHappened = false; // 还没有要报告的事件。 } public void doWork() { if (somethingHappened) { // 检查设置的谓词。 ie.interestingEvent();// 通过调用接口的这个方法发出事件信号。 } } public void setHappened(){//设置谓词。 somethingHappened=true; }}在上例中,使用 somethingHappened 谓词来跟踪是否应触发事件。希望接收事件通知的代码必须实现 InterestingEvent 接口,并将自身引用传递给事件通知程序。CallMe.javapackage org.zj.sample;public class CallMe implements InterestingEvent { @SuppressWarnings("unused") private EventNotifier en; public CallMe() { // 注意 EventNotifier (InterestingEvent event),应该传递一个接口类型。 // 而下面将this,即实现了InterestingEvent接口的CallMe实例传递给//EventNotifier。也就是所谓的接口回调了。 en = new EventNotifier(this); // 创建事件通知程序,并将自身引用传递给它。 } // 为事件定义实际的处理程序。

狭义上的接口是指的interface关键字声名的一个类型如public interface IFunction{},广义上的接口泛指某一组件暴露给外部程序进行通信的一组方法,接口的回调一般指的是传递给组件一个方法,以供组件在某个特定的时间或者达成了某种状态后组件自己去调用


石楼县13878171569: JAVA中 接口是什么? 接口的回调是什么? -
弋卞羚羊: Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 两种含义:一,Java接口,Java语言中存在的结...

石楼县13878171569: JAVA中,接口是什么 -
弋卞羚羊: 接口就是接口,接口只能用来实现,跟类不一样!它的写法是•Public interface接口名称{},另外接口和类的区别:1•接口不可以被实例化;2•实现类百必须实现接口的所有方法;•3实现类可以实现多度个接口回;4接口中的变量都是静态的常量;另外接口不能实现接口,但是接口可以继承接口;•接口中的成员都有固定修饰符:–常量:public static final –方法:public abstract方法名; 类使用接口方法: Public class T implements接口名{} 接口是一种约定,体现在类名和注释上; 接口是一种能力,答体现在接口中的方法,约束能力,约束方法的功能; 暂时想到的就这么多了.希望能帮到你!

石楼县13878171569: 谁知道Java中的接口是指什么? -
弋卞羚羊: 一、什么是接口 java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).二、java...

石楼县13878171569: Java中什么是接口回调? -
弋卞羚羊: 什么是接口回调?1.接口回调是什么[2]?接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法.实际上,当接口变量调用被类实现的接口中的方法时,就是通...

石楼县13878171569: java中的接口到底是什么? -
弋卞羚羊: 1.接口用于描述一组类的公共方法/公共属性. 它不实现任何的方法或属性,只是告诉继承它的类 《至少》要实现哪些功能, 继承它的类可以增加自己的方法.2.使用接口可以使继承它的类: 命名统一/规范,易于维护.比如: 两个类 "狗"和"猫...

石楼县13878171569: java中接口到底是什么?
弋卞羚羊: 接口是实现构件可插入性的关键,可插入构件的关键在于存在一个公用的接口,以及每个构件实现了这个接口. 什么是接口? Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方...

石楼县13878171569: java中什么是接口?接口的作用是什么? -
弋卞羚羊: 接口就是java提供的一个面向对象的机制,接口类似于全部方法都是抽象方法的抽象类,(抽象类你肯定知道了撒),就好比抽象方法和常量值的定义的集合,申明方法和类的申明方法差不多. interface{ [] [] } 同时接口中所有的方法都是抽象方法,而且接口中的方法都默认是public,abstract的,所以可以省略2个修饰符,但是正因为如此,不能使用和public,abstract有冲突的方法标示,在接口中也可以申明常量,但是不能申明实例变量. java中的继承只能支持单一继承,所以.接口的提供为我们实现多继承提供了路径,这么理解就很方便了,

石楼县13878171569: java 的接口到底起什么作用 -
弋卞羚羊: 下面是madai和clkrst给我的回答. 在此谢谢两位. 我的问题是: ? 1、从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么? 2、一个程序中写了2个接口,并在同一个类中...

石楼县13878171569: 用最简单的话说明Java接口是什么意思? -
弋卞羚羊:[答案] 概念:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).通俗说明:就是个参照的模型...

石楼县13878171569: java 访问一个接口得到接口返回JSON,步骤是怎么做的 -
弋卞羚羊: java中的接口是一种特殊的类,使用关键字interface创建.接口功能完全实现后,可以打成jar包,提供给其他公司使用. 要返回json格式数据,可以把接口中抽象方法的返回值类型规定为JSONObject或JSONString类型.这样当其他公司调用时,得到的数据就是json数据了. 另外,以jar形式提供的接口,可以通过反编译得到你的源码,如果你不希望开源,就要加密了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网