title: interface as a method parameter in Java
body: <p>I had an interview days ago and was thrown a question like this.</p>
  
  <p>Q: Reverse a linked list. Following code is given:</p>
  
  <pre><code>public class ReverseList { 
      interface NodeList {
          int getItem();
          NodeList nextNode();
      }
      void reverse(NodeList node) {
  
      }
      public static void main(String[] args) {
  
      }
  }
  </code></pre>
  
  <p>I was confused because I did not know an interface object could be used as a method parameter. The interviewer explained a little bit but I am still not sure about this. Could somebody enlighten me?</p>