2012-04-03 10 views
5

¿Por qué hay dos constantes Color definidas en la clase java.awt.Color? Por ejemplo¿Cuál es el propósito de java.awt.Color.blue y java.awt.Color.BLUE

public static final Color blue; 
public static final Color BLUE; 

Esto obviamente es redundante. ¿Hay algún escenario de uso específico, como una mejor práctica, donde se prefiera el color en mayúsculas sobre el color en minúsculas o viceversa?

+1

para mí, siempre prefiero las constantes UPPER_CASE –

+1

Las constantes minúsculas se crearon primero antes de que las convenciones de nomenclatura estuvieran completamente eliminadas. Luego se crearon las mayúsculas, pero las minúsculas se mantuvieron para compatibilidad hacia atrás. –

Respuesta

5

Es una convención de nomenclatura.

Java originalmente definido algunos nombres constantes de color en minúsculas, que violaron la regla de denominación de la utilización de mayúsculas para constantes. Estos son mejor manera de utilizar ya que están disponibles en todas las versiones de Java: Color.black, Color.darkGray, Color.gray, Color.lightGray, Color.white, Color.magenta, Color.red, Color.pink, Color.orange, Color.yellow, Color.green, Color.cyan, Color.blue

Java 1.4 se agregaron los nombres correctos en mayúsculas para las constantes: Color.BLACK, Color.DARK_GRAY, Color.GRAY, Color.LIGHT_GRAY, Color.WHITE, Color.MAGENTA, Color.RED, Color.PINK, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.CYAN, Color.BLUE

Source

+2

¿Algún comentario? –

+2

@HovercraftFullOfEels - ¿Por qué un comentario? Es una respuesta a la pregunta. –

+0

Esa página, como los 1.7 (y presumiblemente anteriores) JavaDocs, es ligeramente incorrecta en un aspecto. Estoy bastante seguro de que en realidad era 1.4.1 o (más probable) 1.4.2 que introdujo las variantes en mayúsculas. –

3

Ellos son sinónimos. Los nombres de las mayúsculas se introdujeron en Java 1.4 para cumplir con Sun's naming conventions (ver la Sección 9) para las constantes.

Cuestiones relacionadas