In some Java methods I see that an Interface argument is required.
Since an Interface cannot be instantiated, does that mean that an object of every class that implements this interface can be passed as argument?

For example in the setOnClickListener method of the ListView class in Android,

```
setOnItemClickListener(AdapterView.OnItemClickListener listener)

```

the OnItemClickListener interface (nested in the AdapterView abstract class) is needed as an argument.

What kind of object is required to be passed here?

Thank you in advance.