Are class names allowed to be lower case

You can declare it with lower case, but the convention is to start with a capital letter. The conventions were created to make it easier on others to read and understand your code.

Unlike this definition :

class someClass 
{
    otherClass b = null;
}

Sticking with the conventions even helps Stack Overflow color your code in a way that makes it more readable :

class SomeClass
{
    OtherClass b = null;
}

It's not a matter of can but rather a matter of should. Java naming conventions dictate that class names should begin with an upper case letter. By following conventions, others (including us and your instructors, bosses and co-workers) can better understand and evaluate your code. If you need our help in the future with your code, this can make a big difference. There can be some local variability in some specific rules, so you will want to learn and follow all the specific rules of your office / school.

For more on this, please see Java Naming Conventions.