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.

有点绕口:接口回调可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。

时间: 2024-11-16 16:08:58

java的接口回调的相关文章

Java接口回调是个什么玩意儿

java的接口回调,在android下用的是越来越多了,到底该怎么理解他呢? 回调就是外部设置一个方法给一个对象, 这个对象可以执行外部设置的方法, 通常这个方法是定义在接口中的抽象方法, 外部设置的时候直接设置这个接口对象即可. 如何定义一个回调 a. 定义接口 : 在类中定义一个Interface, 并在接口中定义一个抽象方法;b. 接口对象 : 在类中定义一个该接口的成员变量;c. 设置对象 : 在类中定义一个公共的方法, 可以设置这个接口的对象, 调用该方法给接口对象成员变量赋值;d.

JAVA中接口的回调是怎么一回事

问题描述 JAVA中接口的回调JAVA做参数是怎么一回事情书上说的很抽象 解决方案 解决方案二:http://www.blogjava.net/Carter0618/archive/2007/08/19/137936.html解决方案三:知道什么是抽象类不???解决方案四:接口做参数实际上是一种泛型,让程序更通用点跟用Object做参数有点像,你可以传String,Apple类都可以容器里面使用很广泛解决方案五:就是调用接口的实现类解决方案六:看一下马士兵的视频吧,会很有用的,就看他的javas

Android系列之Fragment(三)----Fragment和Activity之间的通信(含接口回调)

[正文] 一.接口回调的简单引入: 我们先来看一个简单的接口回调的例子: 新建一个Java工程,然后新建一个包.然后新建一个A.java文件: A.java代码如下: 1 package com.cn.callback; 2 3 public class A { 4 public A() { 5 6 } 7 8 //下载图片的操作 9 public void loadImage(String image_path,final CallBack callBack) { 10 new Thread(

final-java接口回调跟造型问题

问题描述 java接口回调跟造型问题 class A {}final class B {} interface C {} B b = (B)new A();C c1 = (C) new A();C c2 = (C)new B(); 为什么B b = (B)new A()C c2 =(C)new B()会出现编译错误?而C c1=(C)new A()却不报错?在线求解 解决方案 其实如果A没有实现C的接口时是不能运行的,而之所以在eclipse中编写是第二个没有报错,也可能是软件的原因,只是没有提

java-JAVA困惑很久的问题——属于上转型还是接口回调,还是两者皆有?

问题描述 JAVA困惑很久的问题--属于上转型还是接口回调,还是两者皆有? 在JAVA中若有一个接口: interface Father { public void fatherFunc(); } 先继承该接口: interface MyFather extends Father { public void setName(); } 再实现继承的MyFather接口: public class Son implements MyFather{ public void fatherFunc(){

Android PictureCallback添加接口回调,出现空指针异常

问题描述 Android PictureCallback添加接口回调,出现空指针异常 package com.frank.kindergarten.camera; import java.io.File; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import android.annotation.SuppressLint; import android.c

理解Java当中的回调机制

你好,今天我要和大家分享一些东西,举例来说这个在JavaScript中用的很多.我要讲讲回调(callbacks).你知道什么时候用,怎么用这个吗?你真的理解了它在java环境中的用法了吗?当我也问我自己这些问题,这也是我开始研究这些的原因.这个背后的思想是控制反转( PS:维基百科的解释是控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.)这个范例描述了框架(framework)的工作方式,也以"好莱坞原则:

深入理解Android之接口回调机制_Android

刚开始学对于这个机制理解不够深刻,现在重新整理下思路.开发中,接口回调是我们经常用到的. 接口回调的意思即,注册之后并不立马执行,而在某个时机触发执行. 首先解决啥是回调: 举个例子:某天,我打电话向你请教问题,当然是个难题,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了.过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理.   C不会自己调用b,C提供b的目的就是让S来调用它,而且C不得不提供.

统一管理项目中的接口回调

0.写在前面 无论是 Java Web 开发还是 Android 开发我们都避免不了异步处理业务的逻辑.有异步的出现一定就有异步结果(接口)的回调.你之前是不是有为每一个异步业务都单独写一个接口呢?如果没有单独写,可以忽略此篇文档.(你已经是大佬了) 项目(业务)大(复杂)了是不是觉得接口太多难以管理呢?本篇文章就是为了解决此问题. 1.封装全局的回调接口 涉及到的姿势 1.泛型灵活使用 2.线程安全的单例模式 3.WeakHashMap 弱键值对引用缓存回调接口 /** * 异步回调(结果)接