<p>I have an interface - here's a nicely contrived version as an example:</p>

<pre><code>public interface Particle {

    enum Charge {
        POSITIVE, NEGATIVE
    }

    Charge getCharge();

    double getMass();

    etc...
}
</code></pre>

<p>Is there any difference in how implementations of this would behave if I defined the <code>Charge</code> enum as static - i.e. does this have any effect:</p>

<pre><code>public interface Particle {

    static enum Charge {
        POSITIVE, NEGATIVE
    }

    Charge getCharge();

    double getMass();

    etc...
}
</code></pre>

No, it makes no difference. From the
language spec, section 9.5
:
Interfaces may contain member type
  declarations (
§8.5
). A member type
  declaration in an interface is
  implicitly
```
static
```
and
```
public
```
.