Это моя первая статья о dev.to и программирование в целом. Недавно я разработал приложение для своей компании после завершения, я пытался очистить свой код и провести некоторый рефакторинг, когда я наткнулся на блок, в котором у меня есть два похожих кода, единственная разница заключалась в вызове другого метода, я был немного новичком в Java, но знаком с JavaScript, был озадачен тем, как я могу преобразовать эту строку в метод, передать ссылку на метод в качестве параметра метода, это было немного сложно, но я смог заставить его работать с помощью интерфейса. ниже можно найти небольшой фрагмент о том, как я это реализовал.
public class MyClass { public static void main(String args[]) { myMethod(new GenericMethod(){ public String call() { return "One"; } }); myMethod(new GenericMethod(){ public String call() { return "Two"; } }); myMethod(() -> { return "Three"; }); } public static void myMethod(GenericMethod g) { System.out.println("This method called " + g.call()); } public interface GenericMethod { public String call(); } }
Я создал интерфейс Универсальный метод только с одним методом вызов() затем создал метод myMethod с Универсальный метод в качестве параметра метода я вызвал Универсальный метод.вызов() внутри моего метода. чтобы вызвать Мой метод Я просто передаю новый экземпляр Универсальный метод и переопределите метод call() . Вы можете сделать код более чистым, используя обозначения со стрелками вместо ключевого слова new
This method called One This method called Two This method called Three
Оригинал: “https://dev.to/kdfemi/how-to-write-a-callback-function-in-java-3bik”