可以用接口实现:
public class FunctionPointerTest { public static void main(String... args){ Player[] players = new Player[5]; for(int i = 0;i<players.length;i++){ players[i] = new Player(); } pressButton(players,new StopButton()); pressButton(players,new StartButton()); } public static void pressButton(Player[] players,PlayerButton button){ for(int i=0;i<players.length;i++){ button.buttonPressed(players[i]); } } } class Player { public void start(){ System.out.println("start"); } public void stop(){ System.out.println("stop"); } } interface PlayerButton { public void buttonPressed(Player player); } class StopButton implements PlayerButton{ @Override public void buttonPressed(Player player) { player.stop(); } } class StartButton implements PlayerButton{ @Override public void buttonPressed(Player player) { player.start(); } }

相关文章:

  • 2021-11-07
  • 2022-12-23
  • 2021-11-02
  • 2022-02-27
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2021-08-29
猜你喜欢
  • 2021-11-07
  • 2021-08-29
  • 2022-12-23
  • 2021-09-11
  • 2022-12-23
  • 2022-12-23
  • 2021-06-28
相关资源
相似解决方案