代码之家  ›  专栏  ›  技术社区  ›  jagamot

Java回调方法

  •  7
  • jagamot  · 技术社区  · 14 年前

    有人能帮助我们如何在java中使用注释实现回调方法吗?

    更多细节-

    谢谢您!

    3 回复  |  直到 14 年前
        1
  •  9
  •   Nandkumar Tekale    12 年前

    非常简单。

    在某个类或接口的某处,您有一个应该调用的方法:

    public void callback()
    

    然后在某个类中,您要么重写该方法,要么实现它,或者别的什么。然后在执行回调的代码中,获取具有回调方法的类的类型的参数。例如:

    public interface Callback
    {
       public void callback();
    }
    
    
    
    public class Callbackee implements Callback {
       public void callback()
       {
          System.out.println("Hey, you called.");`
       }
    
       static{
        new Callbackee().doCallback();
       }
    }
    
    public class CallBacker {
        Callback call;
    
        public void registerCallback(Callback call) {
           this.call=call;
        }
    
        //then just do the callback whenever you want.  You can also, of course, use collections to register more than one callback:
    
        public void doCallback() {
           call.callback();
        }
    }
    

    如果您想在JavaAPI中看到回调方法的示例,请查看MouseListener、MouseMotionListener、KeyListener等等。当然,通常您可以注册多个回调。

        2
  •  2
  •   Marcin Cylke    14 年前

    下面是一个很好的教程:

    http://slesinsky.org/brian/code/annotated_callback.html

    虽然我不确定你是不是在想这个。

        3
  •  0
  •   Ahmed KRAIEM    14 年前

    http://download.oracle.com/javase/1.4.2/docs/api/java/awt/event/ActionListener.html 类,然后调用ActionListener#actionPerformed(ActionEvent ev)