title: Should methods in a Java interface be declared with or without a public access modifier?
body: <p>Should methods in a Java interface be declared with or without the <code>public</code> access modifier?</p>
  
  <p>Technically it doesn't matter, of course. A class method that implements an <code>interface</code> is always <code>public</code>. But what is a better convention?</p>
  
  <p>Java itself is not consistent in this. See for instance <code>Collection</code> vs. <code>Comparable</code>, or <code>Future</code> vs. <code>ScriptEngine</code>.</p>