原理
接口可以引用实现了它的类
假设有一个接口I A类实现接口 I可以去引用A时里面实现方法
B 里面有一个I的引用 调用 I的引用即是调用A里面的实现方法
那么,前提就是B里面要传入A类的
代码实现接口ICallback
public interface ICallback{
void callback();
}
实现类A
public class A implements I {
@Override
public void callback() {
System.out.println("我实现了接口的方法");
}
public void callB() {
B a = new B(); // B的实例
a.setCallback(this); // 传入A的实例到B中
System.out.println("我是A类的callB方法,我要调用B类的callA方法");
a.callA(); // 在callA()中调用A的方法
}
}
B类
public class B {
ICallback callback;
public void setCallback(ICallback callback) {
this.callback = callback;
}
public void callA() {
System.out.println("我是B类的callA方法,我要回调A类的callback方法");
callback.callback();
}
}
实现
setCallback 可以转化为 setOnClickListener
callA() 可以看作为 onClick()
也就是在调用onClick()方法的时候,其实是在调用实现了OnClickListener 类的onClick()方法
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦