Class name convention in java [closed]

What is the naming convention of classes in java, for example should all classes be in upper case like MYCLASS.java ?

as some classes like com.sun.org.apache.bcel.internal.generic. ANEWARRAY. can be found in Sun's library as well

Note: I have read all naming convention from Oracle but I could not find anything which says we should name a class with All Uppercase.


Class Names should be in CamelCase. Try to use nouns because a class is normally representing something in the real world.

The Documentation states the following:

Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).


Java has a very well described naming / coding convention.

You can look it up here http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html

Technically it doesn't matter how you name you classes as long as public classes are in a .java-source file with the same name as the class.


The quoted class com.sun.org.apache.bcel.internal.generic.ANEWARRAY looks to be from the deep innerworking of Java (internal.generic), i.e. not for developer use. As such its really outside of the naming convention. I can only speculate as to why its all in capitals, perhaps to emphasise this point that it shouldn't be used.