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基础接口回调的实现的主要内容,如果未能解决你的问题,请参考以下文章