A valid constant declaration in Java requires a visibility modifier, the static and final keywords, a data type, an identifier, and an initial value. Option B correctly follows this structure: 'public static final int USERS = 20;'. Option D is incorrect because 'final' must precede the data type, and 'TRUE' is not a valid boolean literal.