标签:get 接口 理解 printi 回调 方法 public 类中
通过一个简单的例子了解接口回调
先定义两个类:A类B类
A类:
class A{
private C c ``= null;
interface C{
int get(int i);
}
public void setc (C c) {
this.c = c;
}
public void printi(){
System.out.println(c.get(10));//注意:在A类内部并没有实现接口C中的get方法
}
}
注意:在A类内部并没有实现接口C中的get方法,即无法使用。
B类:
public class B{
public static void main(String[] args) {
A a = new A();
a.setc(new A.C() {
//在这实现方法
@Override
public int get(int i) {
return i;
}
});
a.printi();//这个时候可调用A类中的printi方法
}
}
通过代码分析可知,在A类中并没有实现接口C中的get方法,但是在A类中的printi方法中中却调用了get方法,按理来说执行printi方法时会报错,但是由于在B类中实现了get方法并传递给了A类中的接口变量c,因此可以执行printi方法。
通俗的理解就是,我通过接口定义了一个方法c,但我不实现,我外包给其他类来实现它,其他类实现后通过接口变量把方法给我。
标签:get,接口,理解,printi,回调,方法,public,类中 来源: https://www.cnblogs.com/yerCoder/p/16441216.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。