java接口回调教程_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 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("电话拨打完毕,退出拨号程序");

}

});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值