title: Why do Java Enums uses more memory than Interfaces?
body: <p>I tested class, enum, interface these 3 ways to encapsulate constant String.</p>
  
  <pre><code>   public class Company {
          public final static String CAPITAL_ONE = "Capital_One";
      }
      public interface ICompany {
          public final static String CAPITAL_ONE = "Capital_One";
      }
      public enum ECompany {
          CAPITAL_ONE
      }
  </code></pre>
  
  <p>After compile, they generated 330 bytes, 181 bytes and 818 bytes bytecode which means interface ICompany will cost less memory when loaded into jvm. Why is this?</p>