2011-04-05 23 views

Respuesta

14

porque clase constantes no son miembros de instancias; son miembros de la clase. La palabra clave this se refiere a un objeto, no a la clase, por lo que no puede usarlo para referirse a las constantes de clase.

Esto se aplica si está accediendo a la constante dentro de un método estático o de instancia en su clase.

+2

Alguien es rápido esta mañana. Jaja. –

+0

@Justin Niessner: ¿Me has estado acosando? – BoltClock

+0

No ... pero estaba escribiendo una respuesta yo mismo cuando vi que algo ya estaba publicado. –

4

Las constantes son implícitamente static.

2

Un elemento const es implícitamente estático. Eso significa que pertenece a la clase y no a los miembros de la clase.

3

Debido a las constantes son parte de la clase, es necesario utilizar el nombre de clase:

filler = MyTest.HI; 
+0

En la clase no necesita hacer esto. –

+1

Cierto, no es así. Supuse que quería hacer explícito de dónde venía la constante. – Ferruccio

+0

@DanielRose Además, la sintaxis puede ser útil si el campo 'const'' HI' es _hidden_ ​​por un parámetro de método/constructor o por una variable local que también se llama 'HI'. Es decir. la misma situación donde 'this.Hi2' es útil para miembros no estáticos' Hi2'. –

Cuestiones relacionadas