java基础接口回调的实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础接口回调的实现相关的知识,希望对你有一定的参考价值。

//接口回调理解:先创建好接口,需要使用的时候用匿名内部类实现接口,就叫接口回调,以下是我设计的程序。


package callback;


import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;


//接口

package callback;


public interface CallPhone {

public void playPhone();


}


//PhoneNum类

package callback;


public class PhoneNum {

private String name;

private Integer num;

public PhoneNum() {

}

public PhoneNum(String name, Integer num) {

this.name = name;

this.num = num;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getNum() {

return num;

}

public void setNum(Integer num) {

this.num = num;

}


}


public class Test {

        private static List<PhoneNum> list = new ArrayList<>();


        public static void dicall(CallPhone callPhone) { //调用接口对象作为参数传递

callPhone.playPhone();     //接口对象调用方法


}

public static void main(String[] args) {


list.add(new PhoneNum("张三", 1357467065));

list.add(new PhoneNum("李四", 1343457568));

list.add(new PhoneNum("黄五", 1374563456));

list.add(new PhoneNum("赵六", 1363457456));

list.add(new PhoneNum("刘七", 1594545456));

Test.dicall(new CallPhone() {  //匿名内部类,实现接口

@Override

public void playPhone() {

Scanner sc = new Scanner(System.in);

System.out.println("请输入你要拨打的电话号码");

int num = sc.nextInt();

boolean flag = false;

String name = "";

for (int i = 0; i < list.size(); i++) {

if (flag = list.get(i).getNum() == num) {

name = list.get(i).getName();

break;

}

}

if (flag) {

System.out.println("你正在打给" + name);

} else {

System.out.println("你拨打的号码没有保存在号码簿中,拨打完好请保存");

}

System.out.println("电话拨打完毕,退出拨号程序");


}

});

}



}


本文出自 “11654700” 博客,请务必保留此出处http://11664700.blog.51cto.com/11654700/1784542

以上是关于java基础接口回调的实现的主要内容,如果未能解决你的问题,请参考以下文章

Java中啥是接口回调?

有关接口回调的java题,求解。

回调函数Java接口回调 总结

Java消息回调实例

java里面,c里面都有回调函数,回调函数都是啥东西啊???

Java回调函数的理解与实现