Is there any true point to the Java interface?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/504904/how-are-java-interfaces-actually-used">How are Java interfaces actually used?</a>  </p>
</blockquote>



<p>I'm not talking from an accademic buzzword point of view but from a pratical developer point of view.</p>

<p>So taking the example:-</p>

<pre><code>    Class1 implements Interface 
 public String methodOne() {
  return "This is Class1.methodOne()";
 }

 public String methodTwo() {
  return "This is Class1.methodTwo()";
 }
    }
Class2:

    Class2 implements Interface 
 public String methodOne() {
  return "This is Class2.methodOne()";
 }

 public String methodTwo() {
  return "This is Class2.methodTwo()";
 }
    }
</code></pre>

<p>Using the Interface:-</p>

<pre><code> Client {
  Interface intface = new Class1();

  intface.methodOne();
  intface.methodTwo();

  Interface intface = new Class2();
  intface.methodOne();
  intface.methodTwo();
}
</code></pre>

<p>But what are the benefits over just writting:-</p>

<pre><code> Client {
Class1 clas1 = new Class1();

clas1.methodOne();
clas1.methodTwo();

Class2 clas2 = new Class2();
clas2.methodOne();
clas2.methodTwo();
 }
</code></pre>

<p>And bypass the Interface altogether.</p>

<p>Interfaces just seem to be an additional layer of code for the sake of an additional layer of code, 
or is there more to them than just "Here are the methods that the class you are accessing has"?</p>
