instantiating a class using an interface and an implementation
<p>Trying to get clarifications on when you create a new variable, based on an interface or abstract class, and new it when a specific implementation.</p>

<p>Example:</p>

<pre><code>IBlah blah = new BlahImpl();
</code></pre>

<p>How would you read that out?</p>

<p>Is it:</p>

<p>A reference variable blah of type IBlah is instantiated with the class BlahImpl?</p>

<p>And so the reference variable will be <strong>bound</strong> to IBlah, and hence only have the methods/instance and static variables of IBlah but use BlahImpl classes implementaiton of those properties/vars?</p>

<p>Just trying to get my terminology corrected.</p>
