In this chapter you've learned all the essentials of defining your own classes. You can now create your own class types to fit the context of the problems you are dealing with. You will build on this in the next chapter to enable you to add more flexibility to the operations on your class objects by learning how to realize polymorphism.
The important points covered in this chapter are:
A class definition specifies the variables and methods that are members of the class.
Each class must be saved in a file with the same name as the class, and with the extension .java.
Class variables are declared using the keyword static, and one instance of each class variable is shared among all objects of a class.
Each object of a class will have its own instance variables—these are variables declared without using the keyword static.
Methods that are specified as static can be called even if no class objects exist, but a static method cannot refer to instance variables.
Methods that are not specified as static can access any of the variables in the class directly.
Recursive methods are methods that call themselves.
Access to members of a class is determined by the access attributes that are specified for each of them. These can be public, private, protected, package private, or nothing at all.
Classes can be grouped into a package. If a class in a package is to be accessible from outside the package, the class must be declared using the keyword public.
To designate that a class is a member ...