Java:通过参数传递类
请查看以下代码:Java:通过参数传递类,java,android,Java,Android,请查看以下代码: public class Hello { public void onSayHello() { } } public void test() { sayHello(new Hello() { public void onSayHello() { //do something } }); } public void sayHello(Hello
public class Hello
{
public void onSayHello()
{
}
}
public void test()
{
sayHello(new Hello()
{
public void onSayHello()
{
//do something
}
});
}
public void sayHello(Hello hello)
{
Toast.makeText(context, "Hello world");
hello.onSayHello();
}
这是个好办法吗?这是回调解决方案还是侦听器解决方案?它是如何命名的?您正在创建一个匿名的派生类。如果您希望接收回调,则这不是首选解决方案。而是使用一个接口:
public class Hello {
public interface OnHelloSaidListener {
void onHelloSaid();
}
}
public void test() {
sayHello(new OnHelloSaidListener() {
@Override
public void onHelloSaid() {
// Do somth
}
});
}
public void sayHello(OnHelloSaidListener callback) {
Toast.makeText(context, "Hello world");
callback.onHelloSaid();
}
学校作业?那个listenerListener还是callback?谢谢,回调、处理程序和listener之间的区别是什么?