A symbolic constant in Java is a variable that is declared both static and final. A static attribute on a data field means that all instances share the same value. That is, there is one such data field per class, no matter how many instances of the class are created. This modifier is found in many languages with similar meanings. The final modifier in Java specific. It means that this is the last time that the variable can be assigned, and cannot be reassigned. It does not mean that it cannot change, which is a subtle distinction. C++ has a modifier called const that is stronger in this sense, since it implies not only that a value cannot be reassigned, but that it cannot change.