浅理解接口回调
2017-03-31 15:29
225 查看
接口回调的目的就是实现类A的方法调用类B的方法,形式就是类A调用类B的方法,再在类B执行一些代码之后再调用类A的方法,这样就能类A运行类B的方法并且得到类B运行完返回的数据。
也就是类A调用类B的methodB,再类B调用类A的methodA,其中methodB方法是你想执行的方法,methodA是 methodB执行很多很多操作之后 接受数据的方法。具体的实现流程就是类A集成一个interA接口 类A调用methodB方法 并且传入类A的对象,类B中用接口interA接着类A的对象 methodB执行一些操作后 接口对象.methodA 再在类A里面写 回调之后的操作 接口里面的方法methodA是准备返回的数据方法。
情形一:
结果:
03-31 15:21:53.180 25624-25624.testduixiang W/inter: 这个是方法B
03-31 15:21:53.190 25624-25624.testduixiang W/inter: methodD:100
情形二:
情形三
总结:
A类是正在运行的类,A类的任务是吧接口的实现类对象传到B类 B类是运用这个对象。
也就是类A调用类B的methodB,再类B调用类A的methodA,其中methodB方法是你想执行的方法,methodA是 methodB执行很多很多操作之后 接受数据的方法。具体的实现流程就是类A集成一个interA接口 类A调用methodB方法 并且传入类A的对象,类B中用接口interA接着类A的对象 methodB执行一些操作后 接口对象.methodA 再在类A里面写 回调之后的操作 接口里面的方法methodA是准备返回的数据方法。
情形一:
public interface MyCallBack { public void methodD(int myresult); }
package zhongchao.com.testduixiang; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import zhongchao.com.testduixiang.test.TestSomething; /** * Created by Administrator on 2017/3/31. */ public class Main3Activity extends AppCompatActivity implements MyCallBack{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassB classB=new ClassB(Main3Activity.this); classB.methodB(); } @Override public void methodD(int myresult) { Log.w("inter","methodD:"+myresult); } }
package zhongchao.com.testduixiang; import android.util.Log; /** * Created by Administrator on 2017/3/31. */ public class ClassB { private MyCallBack myCallBack; private int myresult=100; public ClassB(MyCallBack myCallBack) { this.myCallBack = myCallBack; } public void methodB(){ Log.w("inter","这个是方法B"); myCallBack.methodD(myresult); } }
结果:
03-31 15:21:53.180 25624-25624.testduixiang W/inter: 这个是方法B
03-31 15:21:53.190 25624-25624.testduixiang W/inter: methodD:100
情形二:
public interface MyCallBack { public void methodD(int myresult); }
public class Main3Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassB classB=new ClassB(new MyCallBack() { @Override public void methodD(int myresult) { Log.w("inter","methodD: "+myresult); } }); classB.methodB(); } }
public class ClassB { private MyCallBack myCallBack; private int myresult=100; public ClassB(MyCallBack myCallBack) { this.myCallBack = myCallBack; } public void methodB(){ Log.w("inter","这个是方法B"); myCallBack.methodD(myresult); } }
情形三
public interface MyCallBack { public void methodD(int myresult); }
public class Main3Activity extends AppCompatActivity implements MyCallBack{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ClassB classB=new ClassB(); classB.methodB(Main3Activity.this); } @Override public void methodD(int myresult) { Log.w("inter","methodD:"+myresult); } }
public class ClassB { private int myresult=100; public void methodB(MyCallBack myCallBack){ Log.w("inter","这个是方法B"); myCallBack.methodD(myresult); } }
总结:
A类是正在运行的类,A类的任务是吧接口的实现类对象传到B类 B类是运用这个对象。
相关文章推荐
- 都说接口回调很难..理解才是重点
- 关于android接口回调的理解
- 一个故事理解什么是接口回调
- 关于java的接口回调和向上转型的理解
- 关于java的接口回调和向上转型的理解
- Java到Android小项目(自定义Dialog)来理解接口回调在项目中的应用
- Android接口回调深入理解
- 最简单的方式理解“接口回调”的设计
- 6.3 Java中接口回调的初步理解
- Android回调接口简单理解
- 自己理解接口回调入门
- 接口回调的理解
- java中接口回调的理解
- android 回调的理解(结合接口)
- Java到Android逐步理解接口回调
- 通过android中的button理解接口,接口实现,匿名类,回调事件等面对对象思想
- 通过理解List和IList的区别,加深对接口回调的理解
- Java回调接口的理解
- 接口回调机制理解
- android中接口回调的理解