What is the best way to implement constants in Java?

constants, java

Solution

That is perfectly acceptable, probably even the standard.

(public/private) static final TYPE NAME = VALUE;

where `TYPE` is the type, `NAME` is the name in all caps with underscores for spaces, and `VALUE` is the constant value;

I highly recommend NOT putting your constants in their own classes or interfaces.

As a side note: Variables that are declared final and are mutable can still be changed; however, the variable can never point at a different object.

For example:

public static final Point ORIGIN = new Point(0,0);

public static void main(String[] args){

    ORIGIN.x = 3;

}

That is legal and `ORIGIN` would then be a point at (3, 0).

Problem

I've seen examples like this: ``` public class MaxSeconds { public static final int MAX_SECONDS = 25; } ``` and supposed that I could have a Constants class to wrap constants in, declaring them static final. I know practically no Java at all and am wondering if this is the best way to create constants.

Original source

Related problems