I don't understand why no one else seems to be complaining about this bug, because lately I can't seem to avoid it.
Perhaps I was too hasty in posting the bug report a few days ago, because I've discovered now that it happens in more cases than I thought. A namespace clash is not even necessary. You can change the package name and get the same error:
/* One.java */ package abc; import static abc.Two.three; public class One<A> { } /* Two.java */ package abc; public class Two<B> extends One<B> { public static Object three; }
This is absurd.