Le comportement de finale de la méthode statique

J'ai été jouer avec des modificateurs avec la méthode statique et est venu à travers un comportement bizarre.

Comme nous le savons, les méthodes statiques ne peuvent pas être remplacées, car elles sont associées à une classe plutôt qu'à l'instance.

Donc, si j'ai l'extrait de code ci-dessous, il compile des beaux -

//Snippet 1 - Compiles fine
public class A {
    static void ts() {
    }
}

class B extends A {
    static void ts() {
    }
}

Mais si je comprend finale modificateur méthode statique dans Une classe, puis la compilation échoue
ts() dans B ne peut pas remplacer ts() dans Une; méthode de remplacement est statique final.

Pourquoi est-ce qui se passe lorsque la méthode statique ne peut pas être substituée à tous?

  • il semble bizarre, +1 pour la question, mais jusqu'à présent, aucun des réponses satisfaisantes.
  • Ce n'est pas remplacée. Il est toujours là à A. ts().
InformationsquelleAutor Harish | 2009-11-16