"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi les champs statiques sont-ils interdits dans les classes intérieures de Java?

Pourquoi les champs statiques sont-ils interdits dans les classes intérieures de Java?

Publié le 2025-03-23
Parcourir:124

Why are Static Fields Prohibited in Java Inner Classes?

Champs statiques interdits dans les classes intérieures: justification

java interdit la déclaration des champs statiques statiques dans les classes intérieures (ou des classes inneres ordinaires) en raison de leur instance inhérent. Les classes imbriquées sont liées aux cas de leur classe entorce. Cela signifie que chaque instance d'une classe intérieure a une association unique avec une instance spécifique de la classe entourée. En conséquence, l'autoriser des champs statiques dans des classes intérieures créerait une ambiguïté en termes de l'instance à laquelle appartient le champ statique. classe innerclass inner { statique int i = 100; // compiler l'erreur } }

Si les champs statiques étaient autorisés dans les classes intérieures, il n'y aurait pas de moyen clair de déterminer quelle instance d'OUTERCLASS le champ statique auquel j'appartiens. Cette ambiguïté pourrait conduire à des erreurs d'exécution et à un comportement incohérent.

En outre, permettant aux champs statiques au sein de classes internes contredire le principe de la dépendance basée sur les instances. Étant donné que les classes intérieures s'appuient sur des cas de la classe d'encluse, il n'a pas de sens pour eux d'avoir des caractéristiques statiques, qui sont conçues pour fonctionner indépendamment de toute instance. appartient.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3