Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Java supports the use of various types of literals, such as integers (5, 2), floating point numbers (2.5, 6.022e+23), characters ('a', '\n'), booleans ('true', 'false'), and strings ("Hello\n"). Extensive use of literals within a program can lead to two problems: first, the meaning of the literal is often obscured or unclear from the context (from which they derive the name "magic numbers"), and second, changing a frequently-used literal requires the entire program source code to be searched for occurrences of that literal, creating possible error sources if some of the occurrences are overlooked.

A solution to this problem is to declare meaningfully-named constants as class variables. Their values should can be set to the desired literals, and one should reference these constants referenced inserting throughout the program rather than planting the literals themselves. The advantages to this approach are that the constant's name can clearly indicate its meaning or intended use, and should the constant need to be changed, its declaration can be modified without having to search the entire code for all its occurrences.

...

The final keyword in Java is used to declare constants. Its effect is to render the affected variable immutable. Attempting to change the value of a final-qualified variable results in a compile-time error. Since Because constants cannot be changed, it is desirable to define only one instance of them for the class; hence therefore constants should be declared with the static modifier as well. (DCL31-J. Qualify mathematical constants with the static and final modifiers)

...

Noncompliant Code Example

The following This noncompliant code snippet example calculates various dimensions of a sphere, given its radius.

...