title: For what purpose can you declare constants in a Java interface?
body: <p>Specification states that interface is intended to define the contract for <strong>what</strong> a class can do and contains a set of methods required to implement. But at the same time, interface may have constants. </p>
  
  <p>For what purpose it is allowed in Java? </p>
  
  <p>What is the point of existence of constants in interface and how can they be used in it? As I understand they can only be taken as arguments by methods. But I do not see much point because interface doesn't say anything about <strong>how</strong> a class will implement its methods.</p>