A callback is a general principle in programming that's used in a lot of programming languages for many different things. Ofcourse you can use this technique in Java as well.
The question "when to use this technique" is hard to answer in a general way, because there are many possible uses for it - there's not a simple and short list that says "use this for this, that and the other thing".
An example where callbacks are used is in handlers for GUI components in Swing. For example, when you call addActionListener on a JButton you pass it an implementation of ActionListener that contains a method actionPerformed, which is called by Swing when you click the button. The actionPerformed method is an example of a callback method - you pass it to Swing, and it calls the method back later.