title: Java - declaring variables in an interface but not assigning them
body: <p>I am trying to make a shapes class, whose subclasses will be shapes with a constant amount of faces. I want to make this shapes class implement an interface that will ensure that each class implements several constants that will be assigned in the constructor.</p>
  
  <pre><code>public abstract class Shapes{
  public static final int edges; 
      public Shapes(int edges) {
          this.edges = edges;
      }
  }
  
  public interface Shapeable{
      int edges;
  }
  </code></pre>
  
  <p>this gives me a compile error saying the variable may not be initialized. What should I do instead of this to ensure that all subclasses of shapes implement a variable called edges, but changes with each class?</p>