Did you check the spec? It "clearly" says it right here:
I followed your link, and there two clauses there regarding the use of uppercase letters in constants:
"The names of constants in interface types should be, and final variables of class types
may conventionally be (my emphasis), a sequence of one or more words, acronyms, or abbreviations, all uppercase, with components separated by underscore "_" characters."
"Constant names
normally (my emphasis again) have no lowercase letters, so they will not normally obscure names of packages or types, nor will they normally shadow fields, whose names typically contain at least one lowercase letter.
So it is certailnly
not a requirement, rather a convention. After all, if it compiles, then it conforms to JLS. But let's not argue about it, -- of course one should follow the conventions.
Eugene.
[ February 20, 2003: Message edited by: Eugene Kononov ]