java学习笔记----回调的实现

java学习笔记(高琪版)

oop面向对象

回调的实现

取自知乎 常溪玲 的解释:
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。


回调函数能给出一个自己无法完成全部功能的函数一个接口,把每次变化的事件,数据等传入主函数,使程序能适应不同的需求,更加灵活多变。

先写一个函数实现手机解锁的功能,其中有一步每个用户都不同,所以先挂起。

package cn.lyr.oop.testhook;

public   class UnlockMyPhone {
    public static void Unlock(IPutPicture p){
        //这里需要带入的值得语句和下面的Unlock(new Man01());合起来即为:IPutPicture p = new man01;   
        System.out.println("随机产生数字");
        System.out.println("数字对应方位");

        //这里把用户的9张图放入对应的数组里
        p.put();

        System.out.println("显示界面");
    }

写一个接口,作用是加载不同用户的图片。为接口写了两个用户的类,这两个类实现了接口的功能。

package cn.lyr.oop.testhook;
public class PutPicture {

}
interface IPutPicture {
    void put();
    }


class Man01 implements IPutPicture{
@Override
public void put() {
    // TODO Auto-generated method stub
        System.out.println("把这个Man01的图片加载了");
    }
}

class Man02 implements IPutPicture{
@Override
    public void put() {
        // TODO Auto-generated method stub
        System.out.println("把这个Man02的图片加载了");
    }

}

主函数

    public static void main(String[]args){
        Unlock(new Man01());
    }

主类中:
“public static void Unlock(IPutPicture p){
//这里需要带入的值得语句和下面的Unlock(new Man01());合起来即为:IPutPicture p = new man01; ”
用了接口(继承抽象类也可以)实现了将子类调入主程序中,并不管iputpicture是什么,由实现他的子类重写方法实现。

println:
随机产生数字
数字对应方位
把这个Man01的图片加载了
显示界面

猜你喜欢

转载自blog.csdn.net/cn_leeyiru_static/article/details/54784157