Pourquoi ne pouvons-nous pas utiliser des membres de données non statiques dans une méthode statique?méthode statique vs données statiques
Répondre
Les membres non statiques appartiennent à un objet. Une méthode statique n'a pas d'objet.
Si nous avons
class MyClass {
int member;
. . .
public static int statFunc() {
. . .
foo = member;
. . .
}
. . .
}
Si nous avons deux cas de MyClass
celui où member = 1
et une autre où member = 2
et nous appelons statFunc
alors statFunc n'a aucune idée de quelle valeur de member
à utiliser.
Parce que cela n'a aucun sens. Les variables d'instance sont associées à une instance de la classe. Les méthodes statiques ne le sont pas. De quelles variables de l'instance parlez-vous dans la méthode statique?
Quelqu'un est-il en désaccord? – EJP
Les types de données non statiques se réfèrent à l'instance d'une classe, les valeurs de ces variables peuvent varier sur chaque instance créée à partir de la classe.
Par exemple regarder le code suivant:
public class name {
String name;
}
Chaque objet nom peut avoir un nom différent. C'est pourquoi les variables non statiques ne sont accessibles que par des méthodes non statiques, sinon une méthode statique ne sait jamais quelle variable d'instance est ment.
J'espère que cela aide.
- 1. iPhone: méthode statique vs sharedManager dans Objective-C
- 2. fonctions statiques vs fonctions const
- 3. C# méthode statique question
- 4. SQL dynamique vs SQL statique
- 5. Méthode statique usine statique [getInstance()] dans Java?
- 6. Statique vs dynamique SQL
- 7. VS 2008 IntelliSense pour C# dictionnaires statiques
- 8. C++ Singleton Vs méthodes statiques
- 9. UIPickerView, données statiques
- 10. Détecter les données statiques inscriptibles
- 11. méthode publique (statique) swap() par rapport à ceux redondants (non statiques) privées
- 12. Comment synchroniser la méthode statique dans Java
- 13. Invocation d'une méthode non statique à partir d'une méthode statique
- 14. variable ne statique "cette" méthode statique dans
- 15. Références de propriété statique Méthode non statique
- 16. PHP: Singleton vs statique Classe
- 17. Java statique vs objets réguliers
- 18. Java méthode statique solution de contournement?
- 19. HttpContext.Current NullReferenceException dans la méthode statique
- 20. Méthode statique du servlet
- 21. Android: getString (R.string) en méthode statique
- 22. méthode vs fonction vs procédure vs classe?
- 23. Comportement de la méthode statique finale
- 24. Constructeurs Objective C statiques vs. dynamiques
- 25. const vs NSStrings statiques dans Objective-C
- 26. statique char * vs #define en C++ VS2005
- 27. Méthode Const accédant aux variables statiques
- 28. Modèles dans la base de données vitesse vs dictionnaires statiques vitesse
- 29. Coulée et dynamique vs type statique en Java
- 30. HttpModule et classe statique, est-ce que plusieurs requêtes partagent les mêmes données statiques?
Je ne comprends pas votre question. ** en dehors d'une méthode statique dans une méthode statique ** – Sarfraz
vraisemblablement: pourquoi ne pouvons-nous pas utiliser, dans une méthode statique, des membres de données non statiques déclarés en dehors de cette méthode. – Yellowfog