您的位置:

java语音通知接口开发实例的简单介绍

本文目录一览:

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

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); // 创建事件通知程序,并将自身引用传递给它。 } // 为事件定义实际的处理程序。

(Java)谁能给个“面向接口编程”的例子?

很简单啊,我给你一个java类库里的接口怎样啊?是一个经常用到的MouseListener:

/*

* @(#)MouseListener.java 1.17 03/12/19

*

* Copyright 2004 Sun Microsystems, Inc. All rights reserved.

* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.

*/

package java.awt.event;

import java.util.EventListener;

/**

* The listener interface for receiving "interesting" mouse events

* (press, release, click, enter, and exit) on a component.

* (To track mouse moves and mouse drags, use the

* codeMouseMotionListener/code.)

* P

* The class that is interested in processing a mouse event

* either implements this interface (and all the methods it

* contains) or extends the abstract codeMouseAdapter/code class

* (overriding only the methods of interest).

* P

* The listener object created from that class is then registered with a

* component using the component's codeaddMouseListener/code

* method. A mouse event is generated when the mouse is pressed, released

* clicked (pressed and released). A mouse event is also generated when

* the mouse cursor enters or leaves a component. When a mouse event

* occurs, the relevant method in the listener object is invoked, and

* the codeMouseEvent/code is passed to it.

*

* @author Carl Quinn

* @version 1.17, 12/19/03

*

* @see MouseAdapter

* @see MouseEvent

* @see a href=""Tutorial: Writing a Mouse Listener/a

* @see a href=""Reference: The Java Class Libraries (update file)/a

*

* @since 1.1

*/

public interface MouseListener extends EventListener {

/**

* Invoked when the mouse button has been clicked (pressed

* and released) on a component.

*/

public void mouseClicked(MouseEvent e);

/**

* Invoked when a mouse button has been pressed on a component.

*/

public void mousePressed(MouseEvent e);

/**

* Invoked when a mouse button has been released on a component.

*/

public void mouseReleased(MouseEvent e);

/**

* Invoked when the mouse enters a component.

*/

public void mouseEntered(MouseEvent e);

/**

* Invoked when the mouse exits a component.

*/

public void mouseExited(MouseEvent e);

}

接口与类的写法差不多,这个接口放在MouseListener.java(称为一个编辑单元)里.

java如何快速简便地实现语音通话?

直接接入第三发的SDK就好,试试ZEGO即构科技的语音SDK吧,直接通过四行代码就可以接入,不用自己研发,省时省力。

并且这个的语音通话功能很好,没有卡顿、延迟、回声等情况,音质很细腻。

JAVA下如何实现语音通信的功能 新手求教 谢谢

我做过SIP的开发.sip是一种类似http的协议,比H323简单多了.特别适合JAVA开发.

准备工具:java环境,开发工具eclipse等,测试工具ethereal必要的.

SIP:会话初始化协议(Session Initiation Protocol)

会话初始化协议(SIP)是一种应用层控制协议,它可用来创建、修改或终止多媒体会话,如因特网电话呼叫。 SIP 能够邀请参与者加入已存在的会话,如组播会议。现有的会话中可以添加或删除媒体。 SIP 支持名称映射和重定向服务,其支持用户移动性。不管用户网络位置在哪,用户只需维持单一外部可视标识符。

SIP 在五个方面支持创建和终止多媒体通信:

用户定位:决定用于通信的终端系统的确定;

用户可用性:决定被叫方是否愿意加入通信;

用户能力:媒体和媒体参数的确定;

呼叫建立:“响铃“,主叫方和被叫方的会话参数的建立;

呼叫管理:包括传输和终止会话、修改呼叫参数和调用服务。

SIP 可以结合其它 IETF 协议来建立完善的多媒体结构,如提供实时数据传输和服务质量(QOS)反馈的实时传输协议(RTP)、提供流媒体发送控制的实时流协议(RTSP)、为公用交换电话网络(PSTN)提供网关控制的媒体网关控制协议(MEGACO),以及描述多媒体会话的会话描述协议(SDP)。因此, SIP 需要与其它协议协同作用来为用户提供完善的服务。然而 SIP 的基本功能和操作并不依赖于这些协议。

SIP 提供了一组安全服务,包括防止拒绝服务攻击、认证(用户对用户和代理对用户)、完整性保护和加密及隐私服务。

SIP 同时支持 IPv4 and IPv6 。关于因特网电话会话, SIP 做如下工作:

通过 SIP 地址识别主叫方和被叫方。当建立一个 SIP 呼叫时,主叫方首先定位适合的服务器,然后发出一个 SIP 请求。最通常的 SIP 行为是邀请。 SIP 请求会被代理重定向或者触发一系列的新 SIP 请求,而不是直接到达目的被叫方。用户可以通过 SIP 服务器注册他们的位置。 SIP 地址 (URL) 可以嵌入到网页中,因此只要点击一下就可以和对方建立呼叫会话。

谁能给我举两个java接口的列子。

在java中,接口被看作是一种特殊的类。但是不能用new操作符创建接口的实例

它可以用来解决不是继承于同一个父类的两个类的多态实现。

public interface eatable

{

public void howToEat();

}

public class apple implements eatable

{

public void howToEat()

{

System.out.println("eat directly");

}

}

public class pig implements eatable

{

public void howToEat()

{

system.out.println("cooked to eat");

}

}

然后我们可以直接定义一个

eatable 的变量

例如eatable a = new apple()

a.howToEat();

a = new pig();

a.howToEat();

你就可以看到好处了

------------------------------------------------------------

新浪微博:java_learner

给你不一样的java资料更新