2009-10-17 6 views
8

Je viens d'avoir une interview où l'une des questions était quelque chose comme "Décrivez 5 façons d'utiliser le mot-clé statique en Java." Je ne pouvais penser qu'à 2 sur place, et après j'en ai trouvé 2 de plus. Quel est le 5ème?5 façons d'utiliser le mot-clé statique en Java

  1. Déclarer un champ appartenant à une classe par opposition à une instance de la classe.
  2. Déclarer une méthode qui peut être appelée sur une classe par opposition à une instance.
  3. Déclaration d'une classe imbriquée en tant que statique
  4. Définition d'un initialiseur de classe statique.
  5. ???
+0

Etes-vous sûr que ce n'était pas "final"? J'utilise celui-là. :) –

+0

Je pense probablement pas final parce que je pense que vous pouvez utiliser "final" indépendamment de "statique". – Sam

+0

Quelle question d'entrevue de merde. Votre capacité ou autrement à venir tous les cinq rapidement dans des circonstances d'entrevue ne démontre pas vraiment la connaissance de Java IMO. Ne pas être en mesure de tous les nommer sur demande ne signifie pas que vous seriez incapable de les utiliser efficacement dans la pratique. – funkybro

Répondre

16

static import (depuis Java 1.5):

import my.package.MyClass statique . *;

+0

C'est celui que vous cherchez. –

+0

Merci! Je l'ai vu la veille, mais je l'ai complètement oublié. – Sam

-1

Constantes - static final (qui est vraiment le même que # 1, mais pourrait être envisager une utilisation séparée)

+0

N'est-ce pas la même chose qu'un "champ appartenant à la classe"? –

+0

Ils sont les mêmes, mais peut-être l'intervieweur les considère-t-il différents lorsqu'ils sont utilisés dans une interface? –

1

La déclaration d'un static interface serait-elle considérée comme une classe dans cette instance? Sinon, il y a un autre usage.

+0

Je pense que c'est "Interfaces peut faire du travail" par Strange.java par Robert Sedgewick –

-1

créer un bloc statique

static 
{ 

// Do some static work 

} 
+2

même que # 4 - Définir un "bloc" static initializer de classe –

0

Pour modifier le comportement d'une autre méthode/variable statique.

+1

Envisager de donner des exemples afin de soutenir votre réponse (les réponses courtes ne sont pas indiquées) –

Questions connexes