Articles of final

Méthode Java finale: qu’est-ce que cela promet?

Dans une classe Java, une méthode peut être définie pour être final , pour indiquer que cette méthode ne peut pas être remplacée: public class Thingy { public Thingy() { … } public int operationA() {…} /** this method does @return That and is final. */ public final int getThat() { …} } C’est clair, […]

mot clé final dans les parameters de la méthode

Je rencontre souvent des méthodes qui ressemblent à ceci: public void foo(final Ssortingng a, final int[] b, final Object1 c){ } Qu’est-ce qui se passe si cette méthode est appelée sans lui passer les parameters finaux. c’est-à-dire qu’un object1 qui est modifié ultérieurement (il n’est donc pas déclaré comme final) peut être transmis à cette […]

Pourquoi la classe Ssortingng est-elle déclarée finale en Java?

A partir du moment où j’ai appris que la classe java.lang.Ssortingng était déclarée comme finale en Java, je me demandais pourquoi? Je n’ai trouvé aucune réponse à l’époque, mais cet article: Comment créer une réplique de la classe Ssortingng en Java? m’a rappelé ma requête. Bien sûr, Ssortingng fournit toutes les fonctionnalités dont j’ai eu […]

Pourquoi n’y a-t-il pas de fonctionnalité Constant dans Java?

J’essayais d’identifier la raison derrière les constantes en Java J’ai appris que Java nous permet de déclarer des constantes en utilisant le mot clé final . Ma question est de savoir pourquoi Java n’a pas introduit de fonction Constant ( const ). Comme beaucoup de gens disent que cela vient de C ++, en C […]

Final de Java vs const du C ++

Le didacticiel Java pour les programmeurs C ++ indique que (le point culminant est le mien): Le mot clé final est à peu près équivalent à const en C ++ Que signifie “grossièrement” dans ce contexte? Ne sont-ils pas exactement les mêmes? Quelles sont les différences, le cas échéant?

Bonnes raisons d’interdire l’inheritance en Java?

Quelles sont les bonnes raisons d’interdire l’inheritance en Java, par exemple en utilisant des classes ou des classes finales utilisant un seul constructeur privé sans paramètre? Quelles sont les bonnes raisons de faire une méthode finale?

Quand faut-il utiliser final pour les parameters de la méthode et les variables locales?

J’ai trouvé quelques références ( par exemple ) qui suggèrent l’utilisation de final autant que possible et je me demande à quel point c’est important. Ceci est principalement dans le contexte des parameters de la méthode et des variables locales, et non des méthodes ou des classes finales. Pour les constantes, cela a du sens. […]

Arguments finaux dans les méthodes d’interface – à quoi ça sert?

En Java, il est parfaitement légal de définir des arguments final dans les méthodes d’interface et de ne pas obéir à cela dans la classe d’implémentation, par exemple: public interface Foo { public void foo(int bar, final int baz); } public class FooImpl implements Foo { @Override public void foo(final int bar, int baz) { […]

La finale est mal définie?

Tout d’abord, un casse-tête: qu’est-ce que le code suivant imprime? public class RecursiveStatic { public static void main(Ssortingng[] args) { System.out.println(scale(5)); } private static final long X = scale(10); private static long scale(long value) { return X * value; } } Répondre: 0 Spoilers ci-dessous. Si vous imprimez X en échelle (long) et redéfinissez X […]

Comparer des chaînes avec == qui sont déclarées finales en Java

J’ai une question simple sur les chaînes en Java. Le segment suivant de code simple concatène simplement deux chaînes et les compare ensuite à == . Ssortingng str1=”str”; Ssortingng str2=”ing”; Ssortingng concat=str1+str2; System.out.println(concat==”ssortingng”); L’expression de comparaison concat==”ssortingng” renvoie false comme étant évidente (je comprends la différence entre equals() et == ). Quand ces deux chaînes […]