J'ai rencontré un comportement étrange dans l'affectation des variables finales. Vous pouvez assigner une variable finale dans un constructeur pour l'initialiser, ce qui est logique. Cependant, vous ne pouvez pas faire la même chose dans une sous-classe, même si la dernière variable est membre de la sous-classe -Règles d'attribution impair pour Java final
public class FinalTest {
public final String name;
public FinalTest()
{
name = "FinalTest";
}
public static class FinalTestSubclass extends FinalTest {
public FinalTestSubclass()
{
name = "FinalTestSubclass"; //<---- this won't compile, assignment to final variable.
}
}
}
Quelqu'un peut-il penser à une bonne raison pour que cela/fonctionnerait de cette façon?
Peu importe, la réaffectation dans le 2ème constructeur, ne l'a pas vu. –