它是否可能在java中委托?

时间:2015-10-09 06:09:25

标签: java c#

-how通过java中的方法来处理事件,比如c#。

我们使用公共委托void Event(); 这怎么可能在java?

2 个答案:

答案 0 :(得分:3)

您可以在Java中声明Delegate By Interface 喜欢:

     public interface Behaviour
{
   void function()
}

// in java
public class ABehaviour implements Behaviour
{
   public void function()
   {
      // TypeA behaviour
   }
}

public class BBehaviour implements Behaviour
{
   public void function()
   {
      // TypeB behaviour
   }
}

// In Java
Behaviour someBehaviour= new ABehaviour();
someBehaviour.function();
someBehaviour = new BBehaviour ();
someBehaviour.function();

答案 1 :(得分:2)

您需要查看https://msdn.microsoft.com/en-gb/library/ms173171.aspx

这是委托的版本,因此对于您应该能够做的事件:

delegate void buttonClickEvent(eventArgs e, object sender)

这应该允许您在后续类中使用另一种方法。

您还需要将事件添加到该事件的侦听器。

您可能想要研究的另一件事是接口。这也可能会给你你想要的东西。

P.S。请告诉我这是否有任何错误我在火车上目前无法访问我的电脑