2009-10-17 12 views
8

Acabo de recibir una entrevista en la que una de las preguntas era algo así como "Describa 5 formas de usar la palabra clave estática en Java". Solo pude pensar en 2 en el acto, y luego encontré 2 más. ¿Cuál es el quinto?5 formas de utilizar la palabra clave estática en Java

  1. Declarando un campo perteneciente a una clase en lugar de una instancia de la clase.
  2. Declarando un método que se puede invocar en una clase en lugar de en una instancia.
  3. Declarar una clase anidada como estática
  4. Definir un inicializador de clases estático.
  5. ???
+0

¿Estás seguro de que no fue "final"? Yo uso ese. :) –

+0

Estoy pensando que probablemente no sea definitivo porque creo que puedes usar "final" independientemente de "estático". – Sam

+0

¡Qué pregunta de entrevista de mierda! Su capacidad o de lo contrario llegar a las cinco rápidamente en circunstancias de entrevista realmente no demuestra el conocimiento de Java IMO. No poder nombrarlos a todos a la carta no significa que no puedas usarlos de manera efectiva en la práctica. – funkybro

Respuesta

16

static import (desde Java 1.5):

importación estática my.package.MyClass . *;

+0

Este es el que está buscando. –

+0

¡Gracias! Lo vi el día anterior, pero lo olvidé por completo. – Sam

-1

Constantes - static final (que es realmente lo mismo que # 1, pero podría ser considerar un uso separado)

+0

¿No es lo mismo que "un campo perteneciente a la clase"? –

+0

Son lo mismo, pero tal vez el entrevistador los considere diferentes cuando se usan en una interfaz. –

1

¿Declararía que una static interface se considera una clase en este caso? Si no, entonces hay otro uso.

+0

Creo que es "Interfaces pueden hacer el trabajo" por Strange.java por Robert Sedgewick –

-1

crear un bloque estático

static 
{ 

// Do some static work 

} 
+2

igual que # 4 - Definición de un bloque de inicializador de clase estática "bloque" –

0

Para cambiar el comportamiento de otro método/variable estática.

+1

Considere dar ejemplos para respaldar su respuesta (no se indican las respuestas cortas) –

Cuestiones relacionadas