What does it mean for a function to return an interface?
<p>I just saw a member function like this: </p>

<pre><code>public Cat nextCat(GameState state); 
</code></pre>

<p>But Cat is an interface like this: </p>

<pre><code>public interface Cat {
        void makeCat(GameState state);
}
</code></pre>

<p>So I am confused as to how to interpret this. I know what it means when something returns an object or a primitive. But what does it mean to return an interface? How to use this function's return value? </p>
