Sometimes, all the members of a class share the same attribute, and we don't need to have a specific value for each instance. For example, virtual creature types have the following profile values:
Attack power
Defense power
Special attack power
Special defense power
Average speed
Catch rate
Growth rate
A first approach we might think useful for this situation is to define the following class constants to store the values that are shared by all the instances:
ATTACK_POWER
DEFENSE_POWER
SPECIAL_ATTACK_POWER
SPECIAL_DEFENSE_POWER
AVERAGE_SPEED
CATCH_RATE
GROWTH_RATE
Note
Note the usage of uppercase and words separated by underscores (_
) for class constant names. This is a naming convention in Java 9.
The following lines show a new version of the VirtualCreature
class that defines the seven previously listed class constants with the public
access modifier. Notice that the combination of the final
and static
keywords makes them class constants. The...