
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Callback using Interfaces in Java
In the case of Event-driven programming, we pass a reference to a function which will get called when an event occurs. This mechanism is termed as a callback. Java does not support function pointers. So we can not implement the same direction. But using interfaces we can achieve the same very easily.
In the example below, we've made a callback when a button is clicked. See the steps −
Create an interface ClickEventHandler with a single method handleClick().
Create a ClickHandler class which implements this interface ClickEventHandler.
Create a Button class which will call ClickHandler when it's click method is called.
Test the application.
Example
//Step 1: Create an interface for the callback method interface ClickEventHandler { public void handleClick(); } //Step 2: Create a callback handler //implementing the above interface class ClickHandler implements ClickEventHandler { public void handleClick() { System.out.println("Clicked"); } } //Step 3: Create event generator class class Button { public void onClick(ClickEventHandler clickHandler) { clickHandler.handleClick(); } } public class Tester { public static void main(String[] args) { Button button = new Button(); ClickHandler clickHandler = new ClickHandler(); //pass the clickHandler to do the default operation button.onClick(clickHandler); Button button1 = new Button(); //pass the interface to implement own operation button1.onClick(new ClickEventHandler() { @Override public void handleClick() { System.out.println("Button Clicked"); } }); } }
Output
Clicked Button Clicked
Advertisements