Как я могу написать код ниже в java версии?
Я читал похожие вопросы, но они сбивают с толку, они ответили, что java не имеет функции делегата, как c#, с другой стороны, они ответили своей реализацией делегата в java, но ничто не похоже на мое состояние. Я действительно надеюсь, что это ясно по этому вопросу. Я застреваю с недели
class Action
{
public delegate void ActionDelegate();
public static ActionDelegate OnAction;
public void DoAction()
{
Console.WriteLine("Action A");
if (!ReferenceEquals(OnAction, null))
OnAction();
}
}
class TaskA
{
public TaskA()
{
Action.OnAction += DoTaskA;
}
private void DoTaskA()
{
Console.WriteLine("Do Task A");
}
}
class TaskB
{
public TaskB()
{
Action.OnAction += DoTaskB;
}
private void DoTaskB()
{
Console.WriteLine("Do Task B");
}
}
class Program
{
static void Main(string[] args)
{
TaskA taskA = new TaskA();
TaskB task = new TaskB();
Action action = new Action();
action.DoAction();
}
}
Вывод:
Action A
Do Task A
Do Task B
Press any keys to continue...