There are some simple rules that can be applied for Java class definitions.
In this chapter:
[class.name] Choosing a class name
[class.unique] Name classes with common names uniquely
[class.lifecycle] Life-cycle of a class instance
[class.purpose] Single purpose classes
[class.encapsulate] Encapsulate Logic in a Class
[class.structure] How do you structure a class?
[class.inherit] When to extend another class
[class.getname] Use class.getName() instead of a string
[class.name] Choosing a class name
[class.unique] Name classes with common names uniquely
[class.lifecycle] Life-cycle of a class instance
[class.purpose] Single purpose classes
[class.encapsulate] Encapsulate Logic in a Class
[class.structure] How do you structure a class?
[class.inherit] When to extend another class
[class.getname] Use class.getName() instead of a string