接口实现监听器
package test;
public class Student {
private String name;
public Student(String name) {
this.name = name;
}
// 设置监听器接口
interface MyListener{
void listen(String name);
}
public void fun(){
// 如果监听器不为空,就说明已经在别的类里设置了
if (myListener != null){
// 4.此处调用的listen实际是在外部实现好的监听器
myListener.listen(name);
}
}
// 设置本地监听器
private static MyListener myListener; // 2.本地监听器被初始化,不为空了
// 1.由外部设置监听器
public void setMyListener(MyListener listener){
Student.myListener = listener;
}
}
package test;
public class Test {
public static void main(String[] args) {
Student student = new Student("haha");
// 0.设置监听器
student.setMyListener(new Student.MyListener() {
// 5.给内部使用的具体实现
@Override
public void listen(String name) {
System.out.println(name);
}
});
// 3.执行内部的方法
student.fun();
}
}
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。